armdatabox

package module
v2.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 23, 2023 License: MIT Imports: 14 Imported by: 0

README

Azure Data Box Module for Go

PkgGoDev

The armdatabox module provides operations for working with Azure Data Box.

Source code

Getting started

Prerequisites

  • an Azure subscription
  • Go 1.18 or above (You could download and install the latest version of Go from here. It will replace the existing Go on your machine. If you want to install multiple Go versions on the same machine, you could refer this doc.)

Install the package

This project uses Go modules for versioning and dependency management.

Install the Azure Data Box module:

go get github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox

Authorization

When creating a client, you will need to provide a credential for authenticating with Azure Data Box. The azidentity module provides facilities for various ways of authenticating with Azure including client/secret, certificate, managed identity, and more.

cred, err := azidentity.NewDefaultAzureCredential(nil)

For more information on authentication, please see the documentation for azidentity at pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity.

Client Factory

Azure Data Box module consists of one or more clients. We provide a client factory which could be used to create any client in this module.

clientFactory, err := armdatabox.NewClientFactory(<subscription ID>, cred, nil)

You can use ClientOptions in package github.com/Azure/azure-sdk-for-go/sdk/azcore/arm to set endpoint to connect with public and sovereign clouds as well as Azure Stack. For more information, please see the documentation for azcore at pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azcore.

options := arm.ClientOptions {
    ClientOptions: azcore.ClientOptions {
        Cloud: cloud.AzureChina,
    },
}
clientFactory, err := armdatabox.NewClientFactory(<subscription ID>, cred, &options)

Clients

A client groups a set of related APIs, providing access to its functionality. Create one or more clients to access the APIs you require using client factory.

client := clientFactory.NewServiceClient()

Fakes

The fake package contains types used for constructing in-memory fake servers used in unit tests. This allows writing tests to cover various success/error conditions without the need for connecting to a live service.

Please see https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/samples/fakes for details and examples on how to use fakes.

Provide Feedback

If you encounter bugs or have suggestions, please open an issue and assign the Data Box label.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIError

type APIError struct {
	// REQUIRED
	Error *ErrorDetail
}

func (APIError) MarshalJSON

func (a APIError) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type APIError.

func (*APIError) UnmarshalJSON

func (a *APIError) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type APIError.

type AccessProtocol

type AccessProtocol string
const (
	// AccessProtocolNFS - Network File System protocol(NFS).
	AccessProtocolNFS AccessProtocol = "NFS"
	// AccessProtocolSMB - Server Message Block protocol(SMB).
	AccessProtocolSMB AccessProtocol = "SMB"
)

func PossibleAccessProtocolValues

func PossibleAccessProtocolValues() []AccessProtocol

PossibleAccessProtocolValues returns the possible values for the AccessProtocol const type.

type AccountCopyLogDetails

type AccountCopyLogDetails struct {
	// REQUIRED; Indicates the type of job details.
	CopyLogDetailsType *ClassDiscriminator

	// READ-ONLY; Account name.
	AccountName *string

	// READ-ONLY; Link for copy logs.
	CopyLogLink *string

	// READ-ONLY; Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose.
	CopyVerboseLogLink *string
}

AccountCopyLogDetails - Copy log details for a storage account of a DataBox job

func (*AccountCopyLogDetails) GetCopyLogDetails

func (a *AccountCopyLogDetails) GetCopyLogDetails() *CopyLogDetails

GetCopyLogDetails implements the CopyLogDetailsClassification interface for type AccountCopyLogDetails.

func (AccountCopyLogDetails) MarshalJSON

func (a AccountCopyLogDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AccountCopyLogDetails.

func (*AccountCopyLogDetails) UnmarshalJSON

func (a *AccountCopyLogDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AccountCopyLogDetails.

type AccountCredentialDetails

type AccountCredentialDetails struct {
	// READ-ONLY; Connection string of the account endpoint to use the account as a storage endpoint on the device.
	AccountConnectionString *string

	// READ-ONLY; Name of the account.
	AccountName *string

	// READ-ONLY; Type of the account.
	DataAccountType *DataAccountType

	// READ-ONLY; Per share level unencrypted access credentials.
	ShareCredentialDetails []*ShareCredentialDetails
}

AccountCredentialDetails - Credential details of the account.

func (AccountCredentialDetails) MarshalJSON

func (a AccountCredentialDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AccountCredentialDetails.

func (*AccountCredentialDetails) UnmarshalJSON

func (a *AccountCredentialDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AccountCredentialDetails.

type AdditionalErrorInfo

type AdditionalErrorInfo struct {
	// Additional information of the type of error.
	Info any

	// Type of error (e.g. CustomerIntervention, PolicyViolation, SecurityViolation).
	Type *string
}

AdditionalErrorInfo - This class represents additional info which Resource Providers pass when an error occurs.

func (AdditionalErrorInfo) MarshalJSON

func (a AdditionalErrorInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AdditionalErrorInfo.

func (*AdditionalErrorInfo) UnmarshalJSON

func (a *AdditionalErrorInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AdditionalErrorInfo.

type AddressType

type AddressType string

AddressType - Type of address.

const (
	// AddressTypeCommercial - Commercial Address.
	AddressTypeCommercial AddressType = "Commercial"
	// AddressTypeNone - Address type not known.
	AddressTypeNone AddressType = "None"
	// AddressTypeResidential - Residential Address.
	AddressTypeResidential AddressType = "Residential"
)

func PossibleAddressTypeValues

func PossibleAddressTypeValues() []AddressType

PossibleAddressTypeValues returns the possible values for the AddressType const type.

type AddressValidationOutput

type AddressValidationOutput struct {
	// READ-ONLY; The address validation properties.
	Properties *AddressValidationProperties
}

AddressValidationOutput - Output of the address validation api.

func (AddressValidationOutput) MarshalJSON

func (a AddressValidationOutput) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AddressValidationOutput.

func (*AddressValidationOutput) UnmarshalJSON

func (a *AddressValidationOutput) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AddressValidationOutput.

type AddressValidationProperties

type AddressValidationProperties struct {
	// REQUIRED; Identifies the type of validation response.
	ValidationType *ValidationInputDiscriminator

	// READ-ONLY; List of alternate addresses.
	AlternateAddresses []*ShippingAddress

	// READ-ONLY; Error code and message of validation response.
	Error *CloudError

	// READ-ONLY; The address validation status.
	ValidationStatus *AddressValidationStatus
}

AddressValidationProperties - The address validation output.

func (*AddressValidationProperties) GetValidationInputResponse

func (a *AddressValidationProperties) GetValidationInputResponse() *ValidationInputResponse

GetValidationInputResponse implements the ValidationInputResponseClassification interface for type AddressValidationProperties.

func (AddressValidationProperties) MarshalJSON

func (a AddressValidationProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AddressValidationProperties.

func (*AddressValidationProperties) UnmarshalJSON

func (a *AddressValidationProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AddressValidationProperties.

type AddressValidationStatus

type AddressValidationStatus string

AddressValidationStatus - The address validation status.

const (
	// AddressValidationStatusAmbiguous - Address provided is ambiguous, please choose one of the alternate addresses returned.
	AddressValidationStatusAmbiguous AddressValidationStatus = "Ambiguous"
	// AddressValidationStatusInvalid - Address provided is invalid or not supported.
	AddressValidationStatusInvalid AddressValidationStatus = "Invalid"
	// AddressValidationStatusValid - Address provided is valid.
	AddressValidationStatusValid AddressValidationStatus = "Valid"
)

func PossibleAddressValidationStatusValues

func PossibleAddressValidationStatusValues() []AddressValidationStatus

PossibleAddressValidationStatusValues returns the possible values for the AddressValidationStatus const type.

type ApplianceNetworkConfiguration

type ApplianceNetworkConfiguration struct {
	// READ-ONLY; Mac Address.
	MacAddress *string

	// READ-ONLY; Name of the network.
	Name *string
}

ApplianceNetworkConfiguration - The Network Adapter configuration of a DataBox.

func (ApplianceNetworkConfiguration) MarshalJSON

func (a ApplianceNetworkConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ApplianceNetworkConfiguration.

func (*ApplianceNetworkConfiguration) UnmarshalJSON

func (a *ApplianceNetworkConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ApplianceNetworkConfiguration.

type ArmBaseObject

type ArmBaseObject struct {
	// READ-ONLY; Id of the object.
	ID *string

	// READ-ONLY; Name of the object.
	Name *string

	// READ-ONLY; Type of the object.
	Type *string
}

ArmBaseObject - Base class for all objects under resource.

func (ArmBaseObject) MarshalJSON

func (a ArmBaseObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ArmBaseObject.

func (*ArmBaseObject) UnmarshalJSON

func (a *ArmBaseObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ArmBaseObject.

type AvailableSKURequest

type AvailableSKURequest struct {
	// REQUIRED; ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO3166-1alpha-2#Officiallyassignedcode_elements
	Country *string

	// REQUIRED; Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01
	Location *string

	// REQUIRED; Type of the transfer.
	TransferType *TransferType

	// Sku Names to filter for available skus
	SKUNames []*SKUName
}

AvailableSKURequest - The filters for showing the available skus.

func (AvailableSKURequest) MarshalJSON

func (a AvailableSKURequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AvailableSKURequest.

func (*AvailableSKURequest) UnmarshalJSON

func (a *AvailableSKURequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AvailableSKURequest.

type AvailableSKUsResult

type AvailableSKUsResult struct {
	// Link for the next set of skus.
	NextLink *string

	// READ-ONLY; List of available skus.
	Value []*SKUInformation
}

AvailableSKUsResult - The available skus operation response.

func (AvailableSKUsResult) MarshalJSON

func (a AvailableSKUsResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AvailableSKUsResult.

func (*AvailableSKUsResult) UnmarshalJSON

func (a *AvailableSKUsResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AvailableSKUsResult.

type AzureFileFilterDetails

type AzureFileFilterDetails struct {
	// List of full path of the files to be transferred.
	FilePathList []*string

	// Prefix list of the Azure files to be transferred.
	FilePrefixList []*string

	// List of file shares to be transferred.
	FileShareList []*string
}

AzureFileFilterDetails - Filter details to transfer Azure files

func (AzureFileFilterDetails) MarshalJSON

func (a AzureFileFilterDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AzureFileFilterDetails.

func (*AzureFileFilterDetails) UnmarshalJSON

func (a *AzureFileFilterDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AzureFileFilterDetails.

type BlobFilterDetails

type BlobFilterDetails struct {
	// List of full path of the blobs to be transferred.
	BlobPathList []*string

	// Prefix list of the Azure blobs to be transferred.
	BlobPrefixList []*string

	// List of blob containers to be transferred.
	ContainerList []*string
}

BlobFilterDetails - Filter details to transfer Azure Blobs

func (BlobFilterDetails) MarshalJSON

func (b BlobFilterDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type BlobFilterDetails.

func (*BlobFilterDetails) UnmarshalJSON

func (b *BlobFilterDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type BlobFilterDetails.

type CancellationReason

type CancellationReason struct {
	// REQUIRED; Reason for cancellation.
	Reason *string
}

CancellationReason - Reason for cancellation.

func (CancellationReason) MarshalJSON

func (c CancellationReason) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CancellationReason.

func (*CancellationReason) UnmarshalJSON

func (c *CancellationReason) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CancellationReason.

type ClassDiscriminator

type ClassDiscriminator string

ClassDiscriminator - Indicates the type of job details.

const (
	// ClassDiscriminatorDataBox - Data Box orders.
	ClassDiscriminatorDataBox ClassDiscriminator = "DataBox"
	// ClassDiscriminatorDataBoxCustomerDisk - Data Box Customer Disk orders.
	ClassDiscriminatorDataBoxCustomerDisk ClassDiscriminator = "DataBoxCustomerDisk"
	// ClassDiscriminatorDataBoxDisk - Data Box Disk orders.
	ClassDiscriminatorDataBoxDisk ClassDiscriminator = "DataBoxDisk"
	// ClassDiscriminatorDataBoxHeavy - Data Box Heavy orders.
	ClassDiscriminatorDataBoxHeavy ClassDiscriminator = "DataBoxHeavy"
)

func PossibleClassDiscriminatorValues

func PossibleClassDiscriminatorValues() []ClassDiscriminator

PossibleClassDiscriminatorValues returns the possible values for the ClassDiscriminator const type.

type ClientFactory

type ClientFactory struct {
	// contains filtered or unexported fields
}

ClientFactory is a client factory used to create any client in this module. Don't use this type directly, use NewClientFactory instead.

func NewClientFactory

func NewClientFactory(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ClientFactory, error)

NewClientFactory creates a new instance of ClientFactory with the specified values. The parameter values will be propagated to any client created from this factory.

  • subscriptionID - The Subscription Id
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ClientFactory) NewJobsClient

func (c *ClientFactory) NewJobsClient() *JobsClient

NewJobsClient creates a new instance of JobsClient.

func (*ClientFactory) NewManagementClient

func (c *ClientFactory) NewManagementClient() *ManagementClient

NewManagementClient creates a new instance of ManagementClient.

func (*ClientFactory) NewOperationsClient

func (c *ClientFactory) NewOperationsClient() *OperationsClient

NewOperationsClient creates a new instance of OperationsClient.

func (*ClientFactory) NewServiceClient

func (c *ClientFactory) NewServiceClient() *ServiceClient

NewServiceClient creates a new instance of ServiceClient.

type CloudError

type CloudError struct {
	// Error code.
	Code *string

	// The error message parsed from the body of the http error response.
	Message *string

	// Gets or sets the target of the error.
	Target *string

	// READ-ONLY; Gets or sets additional error info.
	AdditionalInfo []*AdditionalErrorInfo

	// READ-ONLY; Gets or sets details for the error.
	Details []*CloudError
}

CloudError - Provides additional information about an http error response.

func (CloudError) MarshalJSON

func (c CloudError) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CloudError.

func (*CloudError) UnmarshalJSON

func (c *CloudError) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CloudError.

type CommonJobDetails

type CommonJobDetails struct {
	// REQUIRED; Contact details for notification and shipping.
	ContactDetails *ContactDetails

	// REQUIRED; Indicates the type of job details.
	JobDetailsType *ClassDiscriminator

	// Details of the data to be exported from azure.
	DataExportDetails []*DataExportDetails

	// Details of the data to be imported into azure.
	DataImportDetails []*DataImportDetails

	// The expected size of the data, which needs to be transferred in this job, in terabytes.
	ExpectedDataSizeInTeraBytes *int32

	// Details about which key encryption type is being used.
	KeyEncryptionKey *KeyEncryptionKey

	// Preferences for the order.
	Preferences *Preferences

	// Optional Reverse Shipping details for order.
	ReverseShippingDetails *ReverseShippingDetails

	// Shipping address of the customer.
	ShippingAddress *ShippingAddress

	// READ-ONLY; Available actions on the job.
	Actions []*CustomerResolutionCode

	// READ-ONLY; Shared access key to download the chain of custody logs
	ChainOfCustodySasKey *string

	// READ-ONLY; List of copy log details.
	CopyLogDetails []CopyLogDetailsClassification

	// READ-ONLY; DataCenter code.
	DataCenterCode *DataCenterCode

	// READ-ONLY; Datacenter address to ship to, for the given sku and storage location.
	DatacenterAddress DatacenterAddressResponseClassification

	// READ-ONLY; Delivery package shipping details.
	DeliveryPackage *PackageShippingDetails

	// READ-ONLY; Holds device data erasure details
	DeviceErasureDetails *DeviceErasureDetails

	// READ-ONLY; List of stages that run in the job.
	JobStages []*JobStages

	// READ-ONLY; Last mitigation action performed on the job.
	LastMitigationActionOnJob *LastMitigationActionOnJob

	// READ-ONLY; Return package shipping details.
	ReturnPackage *PackageShippingDetails

	// READ-ONLY; Shared access key to download the return shipment label
	ReverseShipmentLabelSasKey *string
}

CommonJobDetails - Job details.

func (*CommonJobDetails) GetCommonJobDetails

func (c *CommonJobDetails) GetCommonJobDetails() *CommonJobDetails

GetCommonJobDetails implements the CommonJobDetailsClassification interface for type CommonJobDetails.

func (CommonJobDetails) MarshalJSON

func (c CommonJobDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CommonJobDetails.

func (*CommonJobDetails) UnmarshalJSON

func (c *CommonJobDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CommonJobDetails.

type CommonJobDetailsClassification

type CommonJobDetailsClassification interface {
	// GetCommonJobDetails returns the CommonJobDetails content of the underlying type.
	GetCommonJobDetails() *CommonJobDetails
}

CommonJobDetailsClassification provides polymorphic access to related types. Call the interface's GetCommonJobDetails() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *CommonJobDetails, *CustomerDiskJobDetails, *DiskJobDetails, *HeavyJobDetails, *JobDetails

type CommonJobSecrets

type CommonJobSecrets struct {
	// REQUIRED; Used to indicate what type of job secrets object.
	JobSecretsType *ClassDiscriminator

	// READ-ONLY; Dc Access Security Code for Customer Managed Shipping
	DcAccessSecurityCode *DcAccessSecurityCode

	// READ-ONLY; Error while fetching the secrets.
	Error *CloudError
}

CommonJobSecrets - The base class for the secrets

func (*CommonJobSecrets) GetCommonJobSecrets

func (c *CommonJobSecrets) GetCommonJobSecrets() *CommonJobSecrets

GetCommonJobSecrets implements the CommonJobSecretsClassification interface for type CommonJobSecrets.

func (CommonJobSecrets) MarshalJSON

func (c CommonJobSecrets) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CommonJobSecrets.

func (*CommonJobSecrets) UnmarshalJSON

func (c *CommonJobSecrets) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CommonJobSecrets.

type CommonJobSecretsClassification

type CommonJobSecretsClassification interface {
	// GetCommonJobSecrets returns the CommonJobSecrets content of the underlying type.
	GetCommonJobSecrets() *CommonJobSecrets
}

CommonJobSecretsClassification provides polymorphic access to related types. Call the interface's GetCommonJobSecrets() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *CommonJobSecrets, *CustomerDiskJobSecrets, *DiskJobSecrets, *HeavyJobSecrets, *JobSecrets

type CommonScheduleAvailabilityRequest

type CommonScheduleAvailabilityRequest struct {
	// REQUIRED; Sku Name for which the order is to be scheduled.
	SKUName *SKUName

	// REQUIRED; Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01
	StorageLocation *string

	// Country in which storage location should be supported.
	Country *string
}

CommonScheduleAvailabilityRequest - Request body to get the availability for scheduling orders.

func (*CommonScheduleAvailabilityRequest) GetCommonScheduleAvailabilityRequest

func (c *CommonScheduleAvailabilityRequest) GetCommonScheduleAvailabilityRequest() *CommonScheduleAvailabilityRequest

GetCommonScheduleAvailabilityRequest implements the CommonScheduleAvailabilityRequestClassification interface for type CommonScheduleAvailabilityRequest.

func (CommonScheduleAvailabilityRequest) MarshalJSON

func (c CommonScheduleAvailabilityRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CommonScheduleAvailabilityRequest.

func (*CommonScheduleAvailabilityRequest) UnmarshalJSON

func (c *CommonScheduleAvailabilityRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CommonScheduleAvailabilityRequest.

type CommonScheduleAvailabilityRequestClassification

type CommonScheduleAvailabilityRequestClassification interface {
	// GetCommonScheduleAvailabilityRequest returns the CommonScheduleAvailabilityRequest content of the underlying type.
	GetCommonScheduleAvailabilityRequest() *CommonScheduleAvailabilityRequest
}

CommonScheduleAvailabilityRequestClassification provides polymorphic access to related types. Call the interface's GetCommonScheduleAvailabilityRequest() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *CommonScheduleAvailabilityRequest, *DiskScheduleAvailabilityRequest, *HeavyScheduleAvailabilityRequest, *ScheduleAvailabilityRequest

type ContactDetails

type ContactDetails struct {
	// REQUIRED; Contact name of the person.
	ContactName *string

	// REQUIRED; List of Email-ids to be notified about job progress.
	EmailList []*string

	// REQUIRED; Phone number of the contact person.
	Phone *string

	// Mobile number of the contact person.
	Mobile *string

	// Notification preference for a job stage.
	NotificationPreference []*NotificationPreference

	// Phone extension number of the contact person.
	PhoneExtension *string
}

ContactDetails - Contact Details.

func (ContactDetails) MarshalJSON

func (c ContactDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ContactDetails.

func (*ContactDetails) UnmarshalJSON

func (c *ContactDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ContactDetails.

type ContactInfo

type ContactInfo struct {
	// REQUIRED; Contact name of the person.
	ContactName *string

	// REQUIRED; Phone number of the contact person.
	Phone *string

	// Mobile number of the contact person.
	Mobile *string

	// Phone extension number of the contact person.
	PhoneExtension *string
}

ContactInfo - Contact Info.

func (ContactInfo) MarshalJSON

func (c ContactInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ContactInfo.

func (*ContactInfo) UnmarshalJSON

func (c *ContactInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ContactInfo.

type CopyLogDetails

type CopyLogDetails struct {
	// REQUIRED; Indicates the type of job details.
	CopyLogDetailsType *ClassDiscriminator
}

CopyLogDetails - Details for log generated during copy.

func (*CopyLogDetails) GetCopyLogDetails

func (c *CopyLogDetails) GetCopyLogDetails() *CopyLogDetails

GetCopyLogDetails implements the CopyLogDetailsClassification interface for type CopyLogDetails.

func (CopyLogDetails) MarshalJSON

func (c CopyLogDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CopyLogDetails.

func (*CopyLogDetails) UnmarshalJSON

func (c *CopyLogDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CopyLogDetails.

type CopyLogDetailsClassification

type CopyLogDetailsClassification interface {
	// GetCopyLogDetails returns the CopyLogDetails content of the underlying type.
	GetCopyLogDetails() *CopyLogDetails
}

CopyLogDetailsClassification provides polymorphic access to related types. Call the interface's GetCopyLogDetails() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AccountCopyLogDetails, *CopyLogDetails, *CustomerDiskCopyLogDetails, *DiskCopyLogDetails, *HeavyAccountCopyLogDetails

type CopyProgress

type CopyProgress struct {
	// READ-ONLY; Id of the account where the data needs to be uploaded.
	AccountID *string

	// READ-ONLY; Available actions on the job.
	Actions []*CustomerResolutionCode

	// READ-ONLY; To indicate bytes transferred.
	BytesProcessed *int64

	// READ-ONLY; Data Account Type.
	DataAccountType *DataAccountType

	// READ-ONLY; To indicate directories errored out in the job.
	DirectoriesErroredOut *int64

	// READ-ONLY; Error, if any, in the stage
	Error *CloudError

	// READ-ONLY; Number of files which could not be copied
	FilesErroredOut *int64

	// READ-ONLY; Number of files processed
	FilesProcessed *int64

	// READ-ONLY; To indicate directories renamed
	InvalidDirectoriesProcessed *int64

	// READ-ONLY; Total amount of data not adhering to azure naming conventions which were processed by automatic renaming
	InvalidFileBytesUploaded *int64

	// READ-ONLY; Number of files not adhering to azure naming conventions which were processed by automatic renaming
	InvalidFilesProcessed *int64

	// READ-ONLY; To indicate if enumeration of data is in progress. Until this is true, the TotalBytesToProcess may not be valid.
	IsEnumerationInProgress *bool

	// READ-ONLY; Number of folders not adhering to azure naming conventions which were processed by automatic renaming
	RenamedContainerCount *int64

	// READ-ONLY; Name of the storage account. This will be empty for data account types other than storage account.
	StorageAccountName *string

	// READ-ONLY; Total amount of data to be processed by the job.
	TotalBytesToProcess *int64

	// READ-ONLY; Total files to process
	TotalFilesToProcess *int64

	// READ-ONLY; Transfer type of data
	TransferType *TransferType
}

CopyProgress - Copy progress.

func (CopyProgress) MarshalJSON

func (c CopyProgress) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CopyProgress.

func (*CopyProgress) UnmarshalJSON

func (c *CopyProgress) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CopyProgress.

type CopyStatus

type CopyStatus string

CopyStatus - The Status of the copy

const (
	// CopyStatusCompleted - Data copy completed.
	CopyStatusCompleted CopyStatus = "Completed"
	// CopyStatusCompletedWithErrors - Data copy completed with errors.
	CopyStatusCompletedWithErrors CopyStatus = "CompletedWithErrors"
	// CopyStatusDeviceFormatted - Data copy failed. The Device was formatted by user.
	CopyStatusDeviceFormatted CopyStatus = "DeviceFormatted"
	// CopyStatusDeviceMetadataModified - Data copy failed. Device metadata was modified by user.
	CopyStatusDeviceMetadataModified CopyStatus = "DeviceMetadataModified"
	// CopyStatusDriveCorrupted - Copy failed due to corrupted drive.
	CopyStatusDriveCorrupted CopyStatus = "DriveCorrupted"
	// CopyStatusDriveNotDetected - Copy failed due to disk detection error.
	CopyStatusDriveNotDetected CopyStatus = "DriveNotDetected"
	// CopyStatusDriveNotReceived - No copy triggered as device was not received.
	CopyStatusDriveNotReceived CopyStatus = "DriveNotReceived"
	// CopyStatusFailed - Data copy failed. No data was copied.
	CopyStatusFailed CopyStatus = "Failed"
	// CopyStatusHardwareError - The Device has hit hardware issues.
	CopyStatusHardwareError CopyStatus = "HardwareError"
	// CopyStatusInProgress - Data copy is in progress.
	CopyStatusInProgress CopyStatus = "InProgress"
	// CopyStatusMetadataFilesModifiedOrRemoved - Copy failed due to modified or removed metadata files.
	CopyStatusMetadataFilesModifiedOrRemoved CopyStatus = "MetadataFilesModifiedOrRemoved"
	// CopyStatusNotReturned - No copy triggered as device was not returned.
	CopyStatusNotReturned CopyStatus = "NotReturned"
	// CopyStatusNotStarted - Data copy hasn't started yet.
	CopyStatusNotStarted CopyStatus = "NotStarted"
	// CopyStatusOtherServiceError - Copy failed due to service error.
	CopyStatusOtherServiceError CopyStatus = "OtherServiceError"
	// CopyStatusOtherUserError - Copy failed due to user error.
	CopyStatusOtherUserError CopyStatus = "OtherUserError"
	// CopyStatusStorageAccountNotAccessible - Data copy failed. Storage Account was not accessible during copy.
	CopyStatusStorageAccountNotAccessible CopyStatus = "StorageAccountNotAccessible"
	// CopyStatusUnsupportedData - Data copy failed. The Device data content is not supported.
	CopyStatusUnsupportedData CopyStatus = "UnsupportedData"
	// CopyStatusUnsupportedDrive - No copy triggered as device type is not supported.
	CopyStatusUnsupportedDrive CopyStatus = "UnsupportedDrive"
)

func PossibleCopyStatusValues

func PossibleCopyStatusValues() []CopyStatus

PossibleCopyStatusValues returns the possible values for the CopyStatus const type.

type CreateJobValidations

type CreateJobValidations struct {
	// REQUIRED; List of request details contain validationType and its request as key and value respectively.
	IndividualRequestDetails []ValidationInputRequestClassification

	// CONSTANT; Identify the nature of validation.
	// Field has constant value "JobCreationValidation", any specified value is ignored.
	ValidationCategory *string
}

CreateJobValidations - It does all pre-job creation validations.

func (*CreateJobValidations) GetValidationRequest

func (c *CreateJobValidations) GetValidationRequest() *ValidationRequest

GetValidationRequest implements the ValidationRequestClassification interface for type CreateJobValidations.

func (CreateJobValidations) MarshalJSON

func (c CreateJobValidations) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CreateJobValidations.

func (*CreateJobValidations) UnmarshalJSON

func (c *CreateJobValidations) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CreateJobValidations.

type CreateOrderLimitForSubscriptionValidationRequest

type CreateOrderLimitForSubscriptionValidationRequest struct {
	// REQUIRED; Device type to be used for the job.
	DeviceType *SKUName

	// REQUIRED; Identifies the type of validation request.
	ValidationType *ValidationInputDiscriminator
}

CreateOrderLimitForSubscriptionValidationRequest - Request to validate create order limit for current subscription.

func (*CreateOrderLimitForSubscriptionValidationRequest) GetValidationInputRequest

GetValidationInputRequest implements the ValidationInputRequestClassification interface for type CreateOrderLimitForSubscriptionValidationRequest.

func (CreateOrderLimitForSubscriptionValidationRequest) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type CreateOrderLimitForSubscriptionValidationRequest.

func (*CreateOrderLimitForSubscriptionValidationRequest) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type CreateOrderLimitForSubscriptionValidationRequest.

type CreateOrderLimitForSubscriptionValidationResponseProperties

type CreateOrderLimitForSubscriptionValidationResponseProperties struct {
	// REQUIRED; Identifies the type of validation response.
	ValidationType *ValidationInputDiscriminator

	// READ-ONLY; Error code and message of validation response.
	Error *CloudError

	// READ-ONLY; Create order limit validation status.
	Status *ValidationStatus
}

CreateOrderLimitForSubscriptionValidationResponseProperties - Properties of create order limit for subscription validation response.

func (*CreateOrderLimitForSubscriptionValidationResponseProperties) GetValidationInputResponse

GetValidationInputResponse implements the ValidationInputResponseClassification interface for type CreateOrderLimitForSubscriptionValidationResponseProperties.

func (CreateOrderLimitForSubscriptionValidationResponseProperties) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type CreateOrderLimitForSubscriptionValidationResponseProperties.

func (*CreateOrderLimitForSubscriptionValidationResponseProperties) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type CreateOrderLimitForSubscriptionValidationResponseProperties.

type CustomerDiskCopyLogDetails

type CustomerDiskCopyLogDetails struct {
	// REQUIRED; Indicates the type of job details.
	CopyLogDetailsType *ClassDiscriminator

	// READ-ONLY; Link for copy error logs.
	ErrorLogLink *string

	// READ-ONLY; Disk Serial Number.
	SerialNumber *string

	// READ-ONLY; Link for copy verbose logs.
	VerboseLogLink *string
}

CustomerDiskCopyLogDetails - Copy Log Details for customer disk

func (*CustomerDiskCopyLogDetails) GetCopyLogDetails

func (c *CustomerDiskCopyLogDetails) GetCopyLogDetails() *CopyLogDetails

GetCopyLogDetails implements the CopyLogDetailsClassification interface for type CustomerDiskCopyLogDetails.

func (CustomerDiskCopyLogDetails) MarshalJSON

func (c CustomerDiskCopyLogDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CustomerDiskCopyLogDetails.

func (*CustomerDiskCopyLogDetails) UnmarshalJSON

func (c *CustomerDiskCopyLogDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CustomerDiskCopyLogDetails.

type CustomerDiskCopyProgress

type CustomerDiskCopyProgress struct {
	// READ-ONLY; Id of the account where the data needs to be uploaded.
	AccountID *string

	// READ-ONLY; Available actions on the job.
	Actions []*CustomerResolutionCode

	// READ-ONLY; To indicate bytes transferred.
	BytesProcessed *int64

	// READ-ONLY; The Status of the copy
	CopyStatus *CopyStatus

	// READ-ONLY; Data Account Type.
	DataAccountType *DataAccountType

	// READ-ONLY; To indicate directories errored out in the job.
	DirectoriesErroredOut *int64

	// READ-ONLY; Error, if any, in the stage
	Error *CloudError

	// READ-ONLY; Number of files which could not be copied
	FilesErroredOut *int64

	// READ-ONLY; Number of files processed
	FilesProcessed *int64

	// READ-ONLY; To indicate directories renamed
	InvalidDirectoriesProcessed *int64

	// READ-ONLY; Total amount of data not adhering to azure naming conventions which were processed by automatic renaming
	InvalidFileBytesUploaded *int64

	// READ-ONLY; Number of files not adhering to azure naming conventions which were processed by automatic renaming
	InvalidFilesProcessed *int64

	// READ-ONLY; To indicate if enumeration of data is in progress. Until this is true, the TotalBytesToProcess may not be valid.
	IsEnumerationInProgress *bool

	// READ-ONLY; Number of folders not adhering to azure naming conventions which were processed by automatic renaming
	RenamedContainerCount *int64

	// READ-ONLY; Disk Serial Number.
	SerialNumber *string

	// READ-ONLY; Name of the storage account. This will be empty for data account types other than storage account.
	StorageAccountName *string

	// READ-ONLY; Total amount of data to be processed by the job.
	TotalBytesToProcess *int64

	// READ-ONLY; Total files to process
	TotalFilesToProcess *int64

	// READ-ONLY; Transfer type of data
	TransferType *TransferType
}

CustomerDiskCopyProgress - DataBox CustomerDisk Copy Progress

func (CustomerDiskCopyProgress) MarshalJSON

func (c CustomerDiskCopyProgress) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CustomerDiskCopyProgress.

func (*CustomerDiskCopyProgress) UnmarshalJSON

func (c *CustomerDiskCopyProgress) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CustomerDiskCopyProgress.

type CustomerDiskJobDetails

type CustomerDiskJobDetails struct {
	// REQUIRED; Contact details for notification and shipping.
	ContactDetails *ContactDetails

	// REQUIRED; Indicates the type of job details.
	JobDetailsType *ClassDiscriminator

	// REQUIRED; Return package shipping details.
	ReturnToCustomerPackageDetails *PackageCarrierDetails

	// Details of the data to be exported from azure.
	DataExportDetails []*DataExportDetails

	// Details of the data to be imported into azure.
	DataImportDetails []*DataImportDetails

	// Flag to indicate if disk manifest should be backed-up in the Storage Account.
	EnableManifestBackup *bool

	// The expected size of the data, which needs to be transferred in this job, in terabytes.
	ExpectedDataSizeInTeraBytes *int32

	// Contains the map of disk serial number to the disk details for import jobs.
	ImportDiskDetailsCollection map[string]*ImportDiskDetails

	// Details about which key encryption type is being used.
	KeyEncryptionKey *KeyEncryptionKey

	// Preferences for the order.
	Preferences *Preferences

	// Optional Reverse Shipping details for order.
	ReverseShippingDetails *ReverseShippingDetails

	// Shipping address of the customer.
	ShippingAddress *ShippingAddress

	// READ-ONLY; Available actions on the job.
	Actions []*CustomerResolutionCode

	// READ-ONLY; Shared access key to download the chain of custody logs
	ChainOfCustodySasKey *string

	// READ-ONLY; List of copy log details.
	CopyLogDetails []CopyLogDetailsClassification

	// READ-ONLY; Copy progress per disk.
	CopyProgress []*CustomerDiskCopyProgress

	// READ-ONLY; DataCenter code.
	DataCenterCode *DataCenterCode

	// READ-ONLY; Datacenter address to ship to, for the given sku and storage location.
	DatacenterAddress DatacenterAddressResponseClassification

	// READ-ONLY; Delivery package shipping details.
	DeliverToDcPackageDetails *PackageCarrierInfo

	// READ-ONLY; Delivery package shipping details.
	DeliveryPackage *PackageShippingDetails

	// READ-ONLY; Holds device data erasure details
	DeviceErasureDetails *DeviceErasureDetails

	// READ-ONLY; Contains the map of disk serial number to the disk details for export jobs.
	ExportDiskDetailsCollection map[string]*ExportDiskDetails

	// READ-ONLY; List of stages that run in the job.
	JobStages []*JobStages

	// READ-ONLY; Last mitigation action performed on the job.
	LastMitigationActionOnJob *LastMitigationActionOnJob

	// READ-ONLY; Return package shipping details.
	ReturnPackage *PackageShippingDetails

	// READ-ONLY; Shared access key to download the return shipment label
	ReverseShipmentLabelSasKey *string
}

CustomerDiskJobDetails - Customer disk job details.

func (*CustomerDiskJobDetails) GetCommonJobDetails

func (c *CustomerDiskJobDetails) GetCommonJobDetails() *CommonJobDetails

GetCommonJobDetails implements the CommonJobDetailsClassification interface for type CustomerDiskJobDetails.

func (CustomerDiskJobDetails) MarshalJSON

func (c CustomerDiskJobDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CustomerDiskJobDetails.

func (*CustomerDiskJobDetails) UnmarshalJSON

func (c *CustomerDiskJobDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CustomerDiskJobDetails.

type CustomerDiskJobSecrets

type CustomerDiskJobSecrets struct {
	// REQUIRED; Used to indicate what type of job secrets object.
	JobSecretsType *ClassDiscriminator

	// READ-ONLY; Carrier Account Number of the customer
	CarrierAccountNumber *string

	// READ-ONLY; Dc Access Security Code for Customer Managed Shipping
	DcAccessSecurityCode *DcAccessSecurityCode

	// READ-ONLY; Contains the list of secrets object for that device.
	DiskSecrets []*DiskSecret

	// READ-ONLY; Error while fetching the secrets.
	Error *CloudError
}

CustomerDiskJobSecrets - The secrets related to customer disk job.

func (*CustomerDiskJobSecrets) GetCommonJobSecrets

func (c *CustomerDiskJobSecrets) GetCommonJobSecrets() *CommonJobSecrets

GetCommonJobSecrets implements the CommonJobSecretsClassification interface for type CustomerDiskJobSecrets.

func (CustomerDiskJobSecrets) MarshalJSON

func (c CustomerDiskJobSecrets) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CustomerDiskJobSecrets.

func (*CustomerDiskJobSecrets) UnmarshalJSON

func (c *CustomerDiskJobSecrets) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CustomerDiskJobSecrets.

type CustomerResolutionCode

type CustomerResolutionCode string
const (
	// CustomerResolutionCodeMoveToCleanUpDevice - Clean the device
	CustomerResolutionCodeMoveToCleanUpDevice CustomerResolutionCode = "MoveToCleanUpDevice"
	// CustomerResolutionCodeNone - No Resolution Yet
	CustomerResolutionCodeNone CustomerResolutionCode = "None"
	// CustomerResolutionCodeReachOutToOperation - Reach out to operation for further action.
	CustomerResolutionCodeReachOutToOperation CustomerResolutionCode = "ReachOutToOperation"
	// CustomerResolutionCodeRestart - Restart whole action.
	CustomerResolutionCodeRestart CustomerResolutionCode = "Restart"
	// CustomerResolutionCodeResume - Resume the job to same stage
	CustomerResolutionCodeResume CustomerResolutionCode = "Resume"
)

func PossibleCustomerResolutionCodeValues

func PossibleCustomerResolutionCodeValues() []CustomerResolutionCode

PossibleCustomerResolutionCodeValues returns the possible values for the CustomerResolutionCode const type.

type DataAccountDetails

type DataAccountDetails struct {
	// REQUIRED; Account Type of the data to be transferred.
	DataAccountType *DataAccountType

	// Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If
	// this is not passed, the service will generate password itself. This will not be
	// returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must
	// have at least one uppercase alphabet, one number and one special character.
	// Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters
	// : @#-$%^!+=;:_()]+
	SharePassword *string
}

DataAccountDetails - Account details of the data to be transferred

func (*DataAccountDetails) GetDataAccountDetails

func (d *DataAccountDetails) GetDataAccountDetails() *DataAccountDetails

GetDataAccountDetails implements the DataAccountDetailsClassification interface for type DataAccountDetails.

func (DataAccountDetails) MarshalJSON

func (d DataAccountDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DataAccountDetails.

func (*DataAccountDetails) UnmarshalJSON

func (d *DataAccountDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DataAccountDetails.

type DataAccountDetailsClassification

type DataAccountDetailsClassification interface {
	// GetDataAccountDetails returns the DataAccountDetails content of the underlying type.
	GetDataAccountDetails() *DataAccountDetails
}

DataAccountDetailsClassification provides polymorphic access to related types. Call the interface's GetDataAccountDetails() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *DataAccountDetails, *ManagedDiskDetails, *StorageAccountDetails

type DataAccountType

type DataAccountType string

DataAccountType - Type of the account.

const (
	// DataAccountTypeManagedDisk - Azure Managed disk storage.
	DataAccountTypeManagedDisk DataAccountType = "ManagedDisk"
	// DataAccountTypeStorageAccount - Storage Accounts .
	DataAccountTypeStorageAccount DataAccountType = "StorageAccount"
)

func PossibleDataAccountTypeValues

func PossibleDataAccountTypeValues() []DataAccountType

PossibleDataAccountTypeValues returns the possible values for the DataAccountType const type.

type DataCenterCode

type DataCenterCode string

DataCenterCode - DataCenter code.

const (
	DataCenterCodeAM2     DataCenterCode = "AM2"
	DataCenterCodeAMS06   DataCenterCode = "AMS06"
	DataCenterCodeAMS20   DataCenterCode = "AMS20"
	DataCenterCodeAUH20   DataCenterCode = "AUH20"
	DataCenterCodeAdHoc   DataCenterCode = "AdHoc"
	DataCenterCodeBJB     DataCenterCode = "BJB"
	DataCenterCodeBJS20   DataCenterCode = "BJS20"
	DataCenterCodeBL20    DataCenterCode = "BL20"
	DataCenterCodeBL7     DataCenterCode = "BL7"
	DataCenterCodeBN1     DataCenterCode = "BN1"
	DataCenterCodeBN7     DataCenterCode = "BN7"
	DataCenterCodeBOM01   DataCenterCode = "BOM01"
	DataCenterCodeBY1     DataCenterCode = "BY1"
	DataCenterCodeBY2     DataCenterCode = "BY2"
	DataCenterCodeBY21    DataCenterCode = "BY21"
	DataCenterCodeBY24    DataCenterCode = "BY24"
	DataCenterCodeCBR20   DataCenterCode = "CBR20"
	DataCenterCodeCH1     DataCenterCode = "CH1"
	DataCenterCodeCPQ02   DataCenterCode = "CPQ02"
	DataCenterCodeCPQ20   DataCenterCode = "CPQ20"
	DataCenterCodeCWL20   DataCenterCode = "CWL20"
	DataCenterCodeCYS04   DataCenterCode = "CYS04"
	DataCenterCodeDSM05   DataCenterCode = "DSM05"
	DataCenterCodeDUB07   DataCenterCode = "DUB07"
	DataCenterCodeFRA22   DataCenterCode = "FRA22"
	DataCenterCodeHKG20   DataCenterCode = "HKG20"
	DataCenterCodeInvalid DataCenterCode = "Invalid"
	DataCenterCodeJNB21   DataCenterCode = "JNB21"
	DataCenterCodeJNB22   DataCenterCode = "JNB22"
	DataCenterCodeLON24   DataCenterCode = "LON24"
	DataCenterCodeMAA01   DataCenterCode = "MAA01"
	DataCenterCodeMEL23   DataCenterCode = "MEL23"
	DataCenterCodeMNZ21   DataCenterCode = "MNZ21"
	DataCenterCodeMWH01   DataCenterCode = "MWH01"
	DataCenterCodeORK70   DataCenterCode = "ORK70"
	DataCenterCodeOSA02   DataCenterCode = "OSA02"
	DataCenterCodeOSA20   DataCenterCode = "OSA20"
	DataCenterCodeOSA22   DataCenterCode = "OSA22"
	DataCenterCodePAR22   DataCenterCode = "PAR22"
	DataCenterCodePNQ01   DataCenterCode = "PNQ01"
	DataCenterCodePUS20   DataCenterCode = "PUS20"
	DataCenterCodeSEL20   DataCenterCode = "SEL20"
	DataCenterCodeSEL21   DataCenterCode = "SEL21"
	DataCenterCodeSG2     DataCenterCode = "SG2"
	DataCenterCodeSHA03   DataCenterCode = "SHA03"
	DataCenterCodeSIN20   DataCenterCode = "SIN20"
	DataCenterCodeSN5     DataCenterCode = "SN5"
	DataCenterCodeSN6     DataCenterCode = "SN6"
	DataCenterCodeSN8     DataCenterCode = "SN8"
	DataCenterCodeSSE90   DataCenterCode = "SSE90"
	DataCenterCodeSVG20   DataCenterCode = "SVG20"
	DataCenterCodeSYD03   DataCenterCode = "SYD03"
	DataCenterCodeSYD23   DataCenterCode = "SYD23"
	DataCenterCodeTYO01   DataCenterCode = "TYO01"
	DataCenterCodeTYO22   DataCenterCode = "TYO22"
	DataCenterCodeYQB20   DataCenterCode = "YQB20"
	DataCenterCodeYTO20   DataCenterCode = "YTO20"
	DataCenterCodeYTO21   DataCenterCode = "YTO21"
	DataCenterCodeZRH20   DataCenterCode = "ZRH20"
)

func PossibleDataCenterCodeValues

func PossibleDataCenterCodeValues() []DataCenterCode

PossibleDataCenterCodeValues returns the possible values for the DataCenterCode const type.

type DataExportDetails

type DataExportDetails struct {
	// REQUIRED; Account details of the data to be transferred
	AccountDetails DataAccountDetailsClassification

	// REQUIRED; Configuration for the data transfer.
	TransferConfiguration *TransferConfiguration

	// Level of the logs to be collected.
	LogCollectionLevel *LogCollectionLevel
}

DataExportDetails - Details of the data to be used for exporting data from azure.

func (DataExportDetails) MarshalJSON

func (d DataExportDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DataExportDetails.

func (*DataExportDetails) UnmarshalJSON

func (d *DataExportDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DataExportDetails.

type DataImportDetails

type DataImportDetails struct {
	// REQUIRED; Account details of the data to be transferred
	AccountDetails DataAccountDetailsClassification

	// Level of the logs to be collected.
	LogCollectionLevel *LogCollectionLevel
}

DataImportDetails - Details of the data to be used for importing data to azure.

func (DataImportDetails) MarshalJSON

func (d DataImportDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DataImportDetails.

func (*DataImportDetails) UnmarshalJSON

func (d *DataImportDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DataImportDetails.

type DataLocationToServiceLocationMap

type DataLocationToServiceLocationMap struct {
	// READ-ONLY; Location of the data.
	DataLocation *string

	// READ-ONLY; Location of the service.
	ServiceLocation *string
}

DataLocationToServiceLocationMap - Map of data location to service location

func (DataLocationToServiceLocationMap) MarshalJSON

func (d DataLocationToServiceLocationMap) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DataLocationToServiceLocationMap.

func (*DataLocationToServiceLocationMap) UnmarshalJSON

func (d *DataLocationToServiceLocationMap) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DataLocationToServiceLocationMap.

type DataTransferDetailsValidationRequest

type DataTransferDetailsValidationRequest struct {
	// REQUIRED; Device type.
	DeviceType *SKUName

	// REQUIRED; Type of the transfer.
	TransferType *TransferType

	// REQUIRED; Identifies the type of validation request.
	ValidationType *ValidationInputDiscriminator

	// List of DataTransfer details to be used to export data from azure.
	DataExportDetails []*DataExportDetails

	// List of DataTransfer details to be used to import data to azure.
	DataImportDetails []*DataImportDetails
}

DataTransferDetailsValidationRequest - Request to validate export and import data details.

func (*DataTransferDetailsValidationRequest) GetValidationInputRequest

func (d *DataTransferDetailsValidationRequest) GetValidationInputRequest() *ValidationInputRequest

GetValidationInputRequest implements the ValidationInputRequestClassification interface for type DataTransferDetailsValidationRequest.

func (DataTransferDetailsValidationRequest) MarshalJSON

func (d DataTransferDetailsValidationRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DataTransferDetailsValidationRequest.

func (*DataTransferDetailsValidationRequest) UnmarshalJSON

func (d *DataTransferDetailsValidationRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DataTransferDetailsValidationRequest.

type DataTransferDetailsValidationResponseProperties

type DataTransferDetailsValidationResponseProperties struct {
	// REQUIRED; Identifies the type of validation response.
	ValidationType *ValidationInputDiscriminator

	// READ-ONLY; Error code and message of validation response.
	Error *CloudError

	// READ-ONLY; Data transfer details validation status.
	Status *ValidationStatus
}

DataTransferDetailsValidationResponseProperties - Properties of data transfer details validation response.

func (*DataTransferDetailsValidationResponseProperties) GetValidationInputResponse

GetValidationInputResponse implements the ValidationInputResponseClassification interface for type DataTransferDetailsValidationResponseProperties.

func (DataTransferDetailsValidationResponseProperties) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type DataTransferDetailsValidationResponseProperties.

func (*DataTransferDetailsValidationResponseProperties) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type DataTransferDetailsValidationResponseProperties.

type DatacenterAddressInstructionResponse

type DatacenterAddressInstructionResponse struct {
	// REQUIRED; Data center address type
	DatacenterAddressType *DatacenterAddressType

	// READ-ONLY; Data center communication instruction
	CommunicationInstruction *string

	// READ-ONLY; Azure Location where the Data Center serves primarily.
	DataCenterAzureLocation *string

	// READ-ONLY; List of supported carriers for return shipment.
	SupportedCarriersForReturnShipment []*string
}

DatacenterAddressInstructionResponse - Datacenter instruction for given storage location.

func (*DatacenterAddressInstructionResponse) GetDatacenterAddressResponse

func (d *DatacenterAddressInstructionResponse) GetDatacenterAddressResponse() *DatacenterAddressResponse

GetDatacenterAddressResponse implements the DatacenterAddressResponseClassification interface for type DatacenterAddressInstructionResponse.

func (DatacenterAddressInstructionResponse) MarshalJSON

func (d DatacenterAddressInstructionResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DatacenterAddressInstructionResponse.

func (*DatacenterAddressInstructionResponse) UnmarshalJSON

func (d *DatacenterAddressInstructionResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DatacenterAddressInstructionResponse.

type DatacenterAddressLocationResponse

type DatacenterAddressLocationResponse struct {
	// REQUIRED; Data center address type
	DatacenterAddressType *DatacenterAddressType

	// READ-ONLY; Special instruction for shipping
	AdditionalShippingInformation *string

	// READ-ONLY; Address type
	AddressType *string

	// READ-ONLY; City name
	City *string

	// READ-ONLY; Company name
	Company *string

	// READ-ONLY; Contact person name
	ContactPersonName *string

	// READ-ONLY; name of the country
	Country *string

	// READ-ONLY; Azure Location where the Data Center serves primarily.
	DataCenterAzureLocation *string

	// READ-ONLY; Phone number
	Phone *string

	// READ-ONLY; Phone extension
	PhoneExtension *string

	// READ-ONLY; name of the state
	State *string

	// READ-ONLY; Street address line 1
	Street1 *string

	// READ-ONLY; Street address line 2
	Street2 *string

	// READ-ONLY; Street address line 3
	Street3 *string

	// READ-ONLY; List of supported carriers for return shipment.
	SupportedCarriersForReturnShipment []*string

	// READ-ONLY; Zip code
	Zip *string
}

DatacenterAddressLocationResponse - Datacenter address for given storage location.

func (*DatacenterAddressLocationResponse) GetDatacenterAddressResponse

func (d *DatacenterAddressLocationResponse) GetDatacenterAddressResponse() *DatacenterAddressResponse

GetDatacenterAddressResponse implements the DatacenterAddressResponseClassification interface for type DatacenterAddressLocationResponse.

func (DatacenterAddressLocationResponse) MarshalJSON

func (d DatacenterAddressLocationResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DatacenterAddressLocationResponse.

func (*DatacenterAddressLocationResponse) UnmarshalJSON

func (d *DatacenterAddressLocationResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DatacenterAddressLocationResponse.

type DatacenterAddressRequest

type DatacenterAddressRequest struct {
	// REQUIRED; Sku Name for which the data center address requested.
	SKUName *SKUName

	// REQUIRED; Storage location. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01
	StorageLocation *string
}

DatacenterAddressRequest - Request body to get the datacenter address.

func (DatacenterAddressRequest) MarshalJSON

func (d DatacenterAddressRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DatacenterAddressRequest.

func (*DatacenterAddressRequest) UnmarshalJSON

func (d *DatacenterAddressRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DatacenterAddressRequest.

type DatacenterAddressResponse

type DatacenterAddressResponse struct {
	// REQUIRED; Data center address type
	DatacenterAddressType *DatacenterAddressType

	// READ-ONLY; Azure Location where the Data Center serves primarily.
	DataCenterAzureLocation *string

	// READ-ONLY; List of supported carriers for return shipment.
	SupportedCarriersForReturnShipment []*string
}

DatacenterAddressResponse - Datacenter address for given storage location.

func (*DatacenterAddressResponse) GetDatacenterAddressResponse

func (d *DatacenterAddressResponse) GetDatacenterAddressResponse() *DatacenterAddressResponse

GetDatacenterAddressResponse implements the DatacenterAddressResponseClassification interface for type DatacenterAddressResponse.

func (DatacenterAddressResponse) MarshalJSON

func (d DatacenterAddressResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DatacenterAddressResponse.

func (*DatacenterAddressResponse) UnmarshalJSON

func (d *DatacenterAddressResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DatacenterAddressResponse.

type DatacenterAddressResponseClassification

type DatacenterAddressResponseClassification interface {
	// GetDatacenterAddressResponse returns the DatacenterAddressResponse content of the underlying type.
	GetDatacenterAddressResponse() *DatacenterAddressResponse
}

DatacenterAddressResponseClassification provides polymorphic access to related types. Call the interface's GetDatacenterAddressResponse() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *DatacenterAddressInstructionResponse, *DatacenterAddressLocationResponse, *DatacenterAddressResponse

type DatacenterAddressType

type DatacenterAddressType string

DatacenterAddressType - Data center address type

const (
	// DatacenterAddressTypeDatacenterAddressInstruction - Data center address instruction.
	DatacenterAddressTypeDatacenterAddressInstruction DatacenterAddressType = "DatacenterAddressInstruction"
	// DatacenterAddressTypeDatacenterAddressLocation - Data center address location.
	DatacenterAddressTypeDatacenterAddressLocation DatacenterAddressType = "DatacenterAddressLocation"
)

func PossibleDatacenterAddressTypeValues

func PossibleDatacenterAddressTypeValues() []DatacenterAddressType

PossibleDatacenterAddressTypeValues returns the possible values for the DatacenterAddressType const type.

type DcAccessSecurityCode

type DcAccessSecurityCode struct {
	// Forward Dc access security code.
	ForwardDCAccessCode *string

	// Reverse Dc access security code.
	ReverseDCAccessCode *string
}

DcAccessSecurityCode - Dc access security code

func (DcAccessSecurityCode) MarshalJSON

func (d DcAccessSecurityCode) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DcAccessSecurityCode.

func (*DcAccessSecurityCode) UnmarshalJSON

func (d *DcAccessSecurityCode) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DcAccessSecurityCode.

type Details

type Details struct {
	// REQUIRED
	Code *string

	// REQUIRED
	Message *string
}

func (Details) MarshalJSON

func (d Details) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type Details.

func (*Details) UnmarshalJSON

func (d *Details) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type Details.

type DeviceErasureDetails

type DeviceErasureDetails struct {
	// READ-ONLY; Holds the device erasure completion status
	DeviceErasureStatus *StageStatus

	// READ-ONLY; Shared access key to download cleanup or destruction certificate for device
	ErasureOrDestructionCertificateSasKey *string
}

DeviceErasureDetails - Device erasure details with erasure completion status and erasureordestructionlog sas key

func (DeviceErasureDetails) MarshalJSON

func (d DeviceErasureDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DeviceErasureDetails.

func (*DeviceErasureDetails) UnmarshalJSON

func (d *DeviceErasureDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DeviceErasureDetails.

type DiskCopyLogDetails

type DiskCopyLogDetails struct {
	// REQUIRED; Indicates the type of job details.
	CopyLogDetailsType *ClassDiscriminator

	// READ-ONLY; Disk Serial Number.
	DiskSerialNumber *string

	// READ-ONLY; Link for copy error logs.
	ErrorLogLink *string

	// READ-ONLY; Link for copy verbose logs.
	VerboseLogLink *string
}

DiskCopyLogDetails - Copy Log Details for a disk

func (*DiskCopyLogDetails) GetCopyLogDetails

func (d *DiskCopyLogDetails) GetCopyLogDetails() *CopyLogDetails

GetCopyLogDetails implements the CopyLogDetailsClassification interface for type DiskCopyLogDetails.

func (DiskCopyLogDetails) MarshalJSON

func (d DiskCopyLogDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiskCopyLogDetails.

func (*DiskCopyLogDetails) UnmarshalJSON

func (d *DiskCopyLogDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiskCopyLogDetails.

type DiskCopyProgress

type DiskCopyProgress struct {
	// READ-ONLY; Available actions on the job.
	Actions []*CustomerResolutionCode

	// READ-ONLY; Bytes copied during the copy of disk.
	BytesCopied *int64

	// READ-ONLY; Error, if any, in the stage
	Error *CloudError

	// READ-ONLY; Indicates the percentage completed for the copy of the disk.
	PercentComplete *int32

	// READ-ONLY; The serial number of the disk
	SerialNumber *string

	// READ-ONLY; The Status of the copy
	Status *CopyStatus
}

DiskCopyProgress - DataBox Disk Copy Progress

func (DiskCopyProgress) MarshalJSON

func (d DiskCopyProgress) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiskCopyProgress.

func (*DiskCopyProgress) UnmarshalJSON

func (d *DiskCopyProgress) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiskCopyProgress.

type DiskGranularCopyLogDetails

type DiskGranularCopyLogDetails struct {
	// REQUIRED; Indicates the type of job details.
	CopyLogDetailsType *ClassDiscriminator

	// READ-ONLY; Account id.
	AccountID *string

	// READ-ONLY; Link for copy error logs.
	ErrorLogLink *string

	// READ-ONLY; Disk Serial Number.
	SerialNumber *string

	// READ-ONLY; Link for copy verbose logs.
	VerboseLogLink *string
}

DiskGranularCopyLogDetails - Granular Copy Log Details for customer disk

func (*DiskGranularCopyLogDetails) GetGranularCopyLogDetails

func (d *DiskGranularCopyLogDetails) GetGranularCopyLogDetails() *GranularCopyLogDetails

GetGranularCopyLogDetails implements the GranularCopyLogDetailsClassification interface for type DiskGranularCopyLogDetails.

func (DiskGranularCopyLogDetails) MarshalJSON

func (d DiskGranularCopyLogDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiskGranularCopyLogDetails.

func (*DiskGranularCopyLogDetails) UnmarshalJSON

func (d *DiskGranularCopyLogDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiskGranularCopyLogDetails.

type DiskGranularCopyProgress

type DiskGranularCopyProgress struct {
	// READ-ONLY; Id of the account where the data needs to be uploaded.
	AccountID *string

	// READ-ONLY; Available actions on the job.
	Actions []*CustomerResolutionCode

	// READ-ONLY; To indicate bytes transferred.
	BytesProcessed *int64

	// READ-ONLY; The Status of the copy
	CopyStatus *CopyStatus

	// READ-ONLY; Data Account Type.
	DataAccountType *DataAccountType

	// READ-ONLY; To indicate directories errored out in the job.
	DirectoriesErroredOut *int64

	// READ-ONLY; Error, if any, in the stage
	Error *CloudError

	// READ-ONLY; Number of files which could not be copied
	FilesErroredOut *int64

	// READ-ONLY; Number of files processed
	FilesProcessed *int64

	// READ-ONLY; To indicate directories renamed
	InvalidDirectoriesProcessed *int64

	// READ-ONLY; Total amount of data not adhering to azure naming conventions which were processed by automatic renaming
	InvalidFileBytesUploaded *int64

	// READ-ONLY; Number of files not adhering to azure naming conventions which were processed by automatic renaming
	InvalidFilesProcessed *int64

	// READ-ONLY; To indicate if enumeration of data is in progress. Until this is true, the TotalBytesToProcess may not be valid.
	IsEnumerationInProgress *bool

	// READ-ONLY; Number of folders not adhering to azure naming conventions which were processed by automatic renaming
	RenamedContainerCount *int64

	// READ-ONLY; Disk Serial Number.
	SerialNumber *string

	// READ-ONLY; Name of the storage account. This will be empty for data account types other than storage account.
	StorageAccountName *string

	// READ-ONLY; Total amount of data to be processed by the job.
	TotalBytesToProcess *int64

	// READ-ONLY; Total files to process
	TotalFilesToProcess *int64

	// READ-ONLY; Transfer type of data
	TransferType *TransferType
}

DiskGranularCopyProgress - DataBox Disk Granular Copy Progress

func (DiskGranularCopyProgress) MarshalJSON

func (d DiskGranularCopyProgress) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiskGranularCopyProgress.

func (*DiskGranularCopyProgress) UnmarshalJSON

func (d *DiskGranularCopyProgress) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiskGranularCopyProgress.

type DiskJobDetails

type DiskJobDetails struct {
	// REQUIRED; Contact details for notification and shipping.
	ContactDetails *ContactDetails

	// REQUIRED; Indicates the type of job details.
	JobDetailsType *ClassDiscriminator

	// Details of the data to be exported from azure.
	DataExportDetails []*DataExportDetails

	// Details of the data to be imported into azure.
	DataImportDetails []*DataImportDetails

	// The expected size of the data, which needs to be transferred in this job, in terabytes.
	ExpectedDataSizeInTeraBytes *int32

	// Details about which key encryption type is being used.
	KeyEncryptionKey *KeyEncryptionKey

	// User entered passkey for DataBox Disk job.
	Passkey *string

	// Preferences for the order.
	Preferences *Preferences

	// User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5}
	// means 5 disks of 2 TB size. Key is string but will be checked against an int.
	PreferredDisks map[string]*int32

	// Optional Reverse Shipping details for order.
	ReverseShippingDetails *ReverseShippingDetails

	// Shipping address of the customer.
	ShippingAddress *ShippingAddress

	// READ-ONLY; Available actions on the job.
	Actions []*CustomerResolutionCode

	// READ-ONLY; Shared access key to download the chain of custody logs
	ChainOfCustodySasKey *string

	// READ-ONLY; List of copy log details.
	CopyLogDetails []CopyLogDetailsClassification

	// READ-ONLY; Copy progress per disk.
	CopyProgress []*DiskCopyProgress

	// READ-ONLY; DataCenter code.
	DataCenterCode *DataCenterCode

	// READ-ONLY; Datacenter address to ship to, for the given sku and storage location.
	DatacenterAddress DatacenterAddressResponseClassification

	// READ-ONLY; Delivery package shipping details.
	DeliveryPackage *PackageShippingDetails

	// READ-ONLY; Holds device data erasure details
	DeviceErasureDetails *DeviceErasureDetails

	// READ-ONLY; Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks
	// are shipped to the customer.
	DisksAndSizeDetails map[string]*int32

	// READ-ONLY; Copy progress per disk.
	GranularCopyLogDetails []*DiskGranularCopyLogDetails

	// READ-ONLY; Copy progress per disk.
	GranularCopyProgress []*DiskGranularCopyProgress

	// READ-ONLY; List of stages that run in the job.
	JobStages []*JobStages

	// READ-ONLY; Last mitigation action performed on the job.
	LastMitigationActionOnJob *LastMitigationActionOnJob

	// READ-ONLY; Return package shipping details.
	ReturnPackage *PackageShippingDetails

	// READ-ONLY; Shared access key to download the return shipment label
	ReverseShipmentLabelSasKey *string
}

DiskJobDetails - DataBox Disk Job Details.

func (*DiskJobDetails) GetCommonJobDetails

func (d *DiskJobDetails) GetCommonJobDetails() *CommonJobDetails

GetCommonJobDetails implements the CommonJobDetailsClassification interface for type DiskJobDetails.

func (DiskJobDetails) MarshalJSON

func (d DiskJobDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiskJobDetails.

func (*DiskJobDetails) UnmarshalJSON

func (d *DiskJobDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiskJobDetails.

type DiskJobSecrets

type DiskJobSecrets struct {
	// REQUIRED; Used to indicate what type of job secrets object.
	JobSecretsType *ClassDiscriminator

	// READ-ONLY; Dc Access Security Code for Customer Managed Shipping
	DcAccessSecurityCode *DcAccessSecurityCode

	// READ-ONLY; Contains the list of secrets object for that device.
	DiskSecrets []*DiskSecret

	// READ-ONLY; Error while fetching the secrets.
	Error *CloudError

	// READ-ONLY; Whether passkey was provided by user.
	IsPasskeyUserDefined *bool

	// READ-ONLY; PassKey for the disk Job.
	PassKey *string
}

DiskJobSecrets - The secrets related to disk job.

func (*DiskJobSecrets) GetCommonJobSecrets

func (d *DiskJobSecrets) GetCommonJobSecrets() *CommonJobSecrets

GetCommonJobSecrets implements the CommonJobSecretsClassification interface for type DiskJobSecrets.

func (DiskJobSecrets) MarshalJSON

func (d DiskJobSecrets) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiskJobSecrets.

func (*DiskJobSecrets) UnmarshalJSON

func (d *DiskJobSecrets) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiskJobSecrets.

type DiskScheduleAvailabilityRequest

type DiskScheduleAvailabilityRequest struct {
	// REQUIRED; The expected size of the data, which needs to be transferred in this job, in terabytes.
	ExpectedDataSizeInTeraBytes *int32

	// REQUIRED; Sku Name for which the order is to be scheduled.
	SKUName *SKUName

	// REQUIRED; Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01
	StorageLocation *string

	// Country in which storage location should be supported.
	Country *string
}

DiskScheduleAvailabilityRequest - Request body to get the availability for scheduling disk orders.

func (*DiskScheduleAvailabilityRequest) GetCommonScheduleAvailabilityRequest

func (d *DiskScheduleAvailabilityRequest) GetCommonScheduleAvailabilityRequest() *CommonScheduleAvailabilityRequest

GetCommonScheduleAvailabilityRequest implements the CommonScheduleAvailabilityRequestClassification interface for type DiskScheduleAvailabilityRequest.

func (DiskScheduleAvailabilityRequest) MarshalJSON

func (d DiskScheduleAvailabilityRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiskScheduleAvailabilityRequest.

func (*DiskScheduleAvailabilityRequest) UnmarshalJSON

func (d *DiskScheduleAvailabilityRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiskScheduleAvailabilityRequest.

type DiskSecret

type DiskSecret struct {
	// READ-ONLY; Bit Locker key of the disk which can be used to unlock the disk to copy data.
	BitLockerKey *string

	// READ-ONLY; Serial number of the assigned disk.
	DiskSerialNumber *string
}

DiskSecret - Contains all the secrets of a Disk.

func (DiskSecret) MarshalJSON

func (d DiskSecret) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiskSecret.

func (*DiskSecret) UnmarshalJSON

func (d *DiskSecret) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiskSecret.

type DoubleEncryption

type DoubleEncryption string

DoubleEncryption - Defines secondary layer of software-based encryption enablement.

const (
	// DoubleEncryptionDisabled - Software-based encryption is disabled.
	DoubleEncryptionDisabled DoubleEncryption = "Disabled"
	// DoubleEncryptionEnabled - Software-based encryption is enabled.
	DoubleEncryptionEnabled DoubleEncryption = "Enabled"
)

func PossibleDoubleEncryptionValues

func PossibleDoubleEncryptionValues() []DoubleEncryption

PossibleDoubleEncryptionValues returns the possible values for the DoubleEncryption const type.

type EncryptionPreferences

type EncryptionPreferences struct {
	// Defines secondary layer of software-based encryption enablement.
	DoubleEncryption *DoubleEncryption

	// Defines Hardware level encryption (Only for disk)
	HardwareEncryption *HardwareEncryption
}

EncryptionPreferences - Preferences related to the Encryption.

func (EncryptionPreferences) MarshalJSON

func (e EncryptionPreferences) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type EncryptionPreferences.

func (*EncryptionPreferences) UnmarshalJSON

func (e *EncryptionPreferences) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type EncryptionPreferences.

type ErrorDetail

type ErrorDetail struct {
	// REQUIRED
	Code *string

	// REQUIRED
	Message *string
	Details []*Details
	Target  *string
}

func (ErrorDetail) MarshalJSON

func (e ErrorDetail) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ErrorDetail.

func (*ErrorDetail) UnmarshalJSON

func (e *ErrorDetail) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ErrorDetail.

type ExportDiskDetails

type ExportDiskDetails struct {
	// READ-ONLY; Path to backed up manifest, only returned if enableManifestBackup is true.
	BackupManifestCloudPath *string

	// READ-ONLY; The relative path of the manifest file on the disk.
	ManifestFile *string

	// READ-ONLY; The Base16-encoded MD5 hash of the manifest file on the disk.
	ManifestHash *string
}

ExportDiskDetails - Export disk details

func (ExportDiskDetails) MarshalJSON

func (e ExportDiskDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ExportDiskDetails.

func (*ExportDiskDetails) UnmarshalJSON

func (e *ExportDiskDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ExportDiskDetails.

type FilterFileDetails

type FilterFileDetails struct {
	// REQUIRED; Path of the file that contains the details of all items to transfer.
	FilterFilePath *string

	// REQUIRED; Type of the filter file.
	FilterFileType *FilterFileType
}

FilterFileDetails - Details of the filter files to be used for data transfer.

func (FilterFileDetails) MarshalJSON

func (f FilterFileDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type FilterFileDetails.

func (*FilterFileDetails) UnmarshalJSON

func (f *FilterFileDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type FilterFileDetails.

type FilterFileType

type FilterFileType string

FilterFileType - Type of the filter file.

const (
	// FilterFileTypeAzureBlob - Filter file is of the type AzureBlob.
	FilterFileTypeAzureBlob FilterFileType = "AzureBlob"
	// FilterFileTypeAzureFile - Filter file is of the type AzureFiles.
	FilterFileTypeAzureFile FilterFileType = "AzureFile"
)

func PossibleFilterFileTypeValues

func PossibleFilterFileTypeValues() []FilterFileType

PossibleFilterFileTypeValues returns the possible values for the FilterFileType const type.

type GranularCopyLogDetails

type GranularCopyLogDetails struct {
	// REQUIRED; Indicates the type of job details.
	CopyLogDetailsType *ClassDiscriminator
}

GranularCopyLogDetails - Granular Details for log generated during copy.

func (*GranularCopyLogDetails) GetGranularCopyLogDetails

func (g *GranularCopyLogDetails) GetGranularCopyLogDetails() *GranularCopyLogDetails

GetGranularCopyLogDetails implements the GranularCopyLogDetailsClassification interface for type GranularCopyLogDetails.

func (GranularCopyLogDetails) MarshalJSON

func (g GranularCopyLogDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type GranularCopyLogDetails.

func (*GranularCopyLogDetails) UnmarshalJSON

func (g *GranularCopyLogDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type GranularCopyLogDetails.

type GranularCopyLogDetailsClassification

type GranularCopyLogDetailsClassification interface {
	// GetGranularCopyLogDetails returns the GranularCopyLogDetails content of the underlying type.
	GetGranularCopyLogDetails() *GranularCopyLogDetails
}

GranularCopyLogDetailsClassification provides polymorphic access to related types. Call the interface's GetGranularCopyLogDetails() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *DiskGranularCopyLogDetails, *GranularCopyLogDetails

type GranularCopyProgress

type GranularCopyProgress struct {
	// READ-ONLY; Id of the account where the data needs to be uploaded.
	AccountID *string

	// READ-ONLY; Available actions on the job.
	Actions []*CustomerResolutionCode

	// READ-ONLY; To indicate bytes transferred.
	BytesProcessed *int64

	// READ-ONLY; Data Account Type.
	DataAccountType *DataAccountType

	// READ-ONLY; To indicate directories errored out in the job.
	DirectoriesErroredOut *int64

	// READ-ONLY; Error, if any, in the stage
	Error *CloudError

	// READ-ONLY; Number of files which could not be copied
	FilesErroredOut *int64

	// READ-ONLY; Number of files processed
	FilesProcessed *int64

	// READ-ONLY; To indicate directories renamed
	InvalidDirectoriesProcessed *int64

	// READ-ONLY; Total amount of data not adhering to azure naming conventions which were processed by automatic renaming
	InvalidFileBytesUploaded *int64

	// READ-ONLY; Number of files not adhering to azure naming conventions which were processed by automatic renaming
	InvalidFilesProcessed *int64

	// READ-ONLY; To indicate if enumeration of data is in progress. Until this is true, the TotalBytesToProcess may not be valid.
	IsEnumerationInProgress *bool

	// READ-ONLY; Number of folders not adhering to azure naming conventions which were processed by automatic renaming
	RenamedContainerCount *int64

	// READ-ONLY; Name of the storage account. This will be empty for data account types other than storage account.
	StorageAccountName *string

	// READ-ONLY; Total amount of data to be processed by the job.
	TotalBytesToProcess *int64

	// READ-ONLY; Total files to process
	TotalFilesToProcess *int64

	// READ-ONLY; Transfer type of data
	TransferType *TransferType
}

GranularCopyProgress - Granular Copy progress.

func (GranularCopyProgress) MarshalJSON

func (g GranularCopyProgress) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type GranularCopyProgress.

func (*GranularCopyProgress) UnmarshalJSON

func (g *GranularCopyProgress) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type GranularCopyProgress.

type HardwareEncryption

type HardwareEncryption string

HardwareEncryption - Defines Hardware level encryption (Only for disk)

const (
	// HardwareEncryptionDisabled - Hardware-based encryption is enabled.
	HardwareEncryptionDisabled HardwareEncryption = "Disabled"
	// HardwareEncryptionEnabled - Hardware-based encryption is enabled.
	HardwareEncryptionEnabled HardwareEncryption = "Enabled"
)

func PossibleHardwareEncryptionValues

func PossibleHardwareEncryptionValues() []HardwareEncryption

PossibleHardwareEncryptionValues returns the possible values for the HardwareEncryption const type.

type HeavyAccountCopyLogDetails

type HeavyAccountCopyLogDetails struct {
	// REQUIRED; Indicates the type of job details.
	CopyLogDetailsType *ClassDiscriminator

	// READ-ONLY; Account name.
	AccountName *string

	// READ-ONLY; Link for copy logs.
	CopyLogLink []*string

	// READ-ONLY; Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to verbose.
	CopyVerboseLogLink []*string
}

HeavyAccountCopyLogDetails - Copy log details for a storage account for Databox heavy

func (*HeavyAccountCopyLogDetails) GetCopyLogDetails

func (h *HeavyAccountCopyLogDetails) GetCopyLogDetails() *CopyLogDetails

GetCopyLogDetails implements the CopyLogDetailsClassification interface for type HeavyAccountCopyLogDetails.

func (HeavyAccountCopyLogDetails) MarshalJSON

func (h HeavyAccountCopyLogDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type HeavyAccountCopyLogDetails.

func (*HeavyAccountCopyLogDetails) UnmarshalJSON

func (h *HeavyAccountCopyLogDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type HeavyAccountCopyLogDetails.

type HeavyJobDetails

type HeavyJobDetails struct {
	// REQUIRED; Contact details for notification and shipping.
	ContactDetails *ContactDetails

	// REQUIRED; Indicates the type of job details.
	JobDetailsType *ClassDiscriminator

	// Details of the data to be exported from azure.
	DataExportDetails []*DataExportDetails

	// Details of the data to be imported into azure.
	DataImportDetails []*DataImportDetails

	// Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is
	// not passed, the service will generate password itself. This will not be returned
	// in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at
	// least one uppercase alphabet, one number and one special character. Password
	// cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#-$%^!+=;:_()]+
	DevicePassword *string

	// The expected size of the data, which needs to be transferred in this job, in terabytes.
	ExpectedDataSizeInTeraBytes *int32

	// Details about which key encryption type is being used.
	KeyEncryptionKey *KeyEncryptionKey

	// Preferences for the order.
	Preferences *Preferences

	// Optional Reverse Shipping details for order.
	ReverseShippingDetails *ReverseShippingDetails

	// Shipping address of the customer.
	ShippingAddress *ShippingAddress

	// READ-ONLY; Available actions on the job.
	Actions []*CustomerResolutionCode

	// READ-ONLY; Shared access key to download the chain of custody logs
	ChainOfCustodySasKey *string

	// READ-ONLY; List of copy log details.
	CopyLogDetails []CopyLogDetailsClassification

	// READ-ONLY; Copy progress per account.
	CopyProgress []*CopyProgress

	// READ-ONLY; DataCenter code.
	DataCenterCode *DataCenterCode

	// READ-ONLY; Datacenter address to ship to, for the given sku and storage location.
	DatacenterAddress DatacenterAddressResponseClassification

	// READ-ONLY; Delivery package shipping details.
	DeliveryPackage *PackageShippingDetails

	// READ-ONLY; Holds device data erasure details
	DeviceErasureDetails *DeviceErasureDetails

	// READ-ONLY; List of stages that run in the job.
	JobStages []*JobStages

	// READ-ONLY; Last mitigation action performed on the job.
	LastMitigationActionOnJob *LastMitigationActionOnJob

	// READ-ONLY; Return package shipping details.
	ReturnPackage *PackageShippingDetails

	// READ-ONLY; Shared access key to download the return shipment label
	ReverseShipmentLabelSasKey *string
}

HeavyJobDetails - Databox Heavy Device Job Details

func (*HeavyJobDetails) GetCommonJobDetails

func (h *HeavyJobDetails) GetCommonJobDetails() *CommonJobDetails

GetCommonJobDetails implements the CommonJobDetailsClassification interface for type HeavyJobDetails.

func (HeavyJobDetails) MarshalJSON

func (h HeavyJobDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type HeavyJobDetails.

func (*HeavyJobDetails) UnmarshalJSON

func (h *HeavyJobDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type HeavyJobDetails.

type HeavyJobSecrets

type HeavyJobSecrets struct {
	// REQUIRED; Used to indicate what type of job secrets object.
	JobSecretsType *ClassDiscriminator

	// READ-ONLY; Contains the list of secret objects for a databox heavy job.
	CabinetPodSecrets []*HeavySecret

	// READ-ONLY; Dc Access Security Code for Customer Managed Shipping
	DcAccessSecurityCode *DcAccessSecurityCode

	// READ-ONLY; Error while fetching the secrets.
	Error *CloudError
}

HeavyJobSecrets - The secrets related to a databox heavy job.

func (*HeavyJobSecrets) GetCommonJobSecrets

func (h *HeavyJobSecrets) GetCommonJobSecrets() *CommonJobSecrets

GetCommonJobSecrets implements the CommonJobSecretsClassification interface for type HeavyJobSecrets.

func (HeavyJobSecrets) MarshalJSON

func (h HeavyJobSecrets) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type HeavyJobSecrets.

func (*HeavyJobSecrets) UnmarshalJSON

func (h *HeavyJobSecrets) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type HeavyJobSecrets.

type HeavyScheduleAvailabilityRequest

type HeavyScheduleAvailabilityRequest struct {
	// REQUIRED; Sku Name for which the order is to be scheduled.
	SKUName *SKUName

	// REQUIRED; Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01
	StorageLocation *string

	// Country in which storage location should be supported.
	Country *string
}

HeavyScheduleAvailabilityRequest - Request body to get the availability for scheduling heavy orders.

func (*HeavyScheduleAvailabilityRequest) GetCommonScheduleAvailabilityRequest

func (h *HeavyScheduleAvailabilityRequest) GetCommonScheduleAvailabilityRequest() *CommonScheduleAvailabilityRequest

GetCommonScheduleAvailabilityRequest implements the CommonScheduleAvailabilityRequestClassification interface for type HeavyScheduleAvailabilityRequest.

func (HeavyScheduleAvailabilityRequest) MarshalJSON

func (h HeavyScheduleAvailabilityRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type HeavyScheduleAvailabilityRequest.

func (*HeavyScheduleAvailabilityRequest) UnmarshalJSON

func (h *HeavyScheduleAvailabilityRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type HeavyScheduleAvailabilityRequest.

type HeavySecret

type HeavySecret struct {
	// READ-ONLY; Per account level access credentials.
	AccountCredentialDetails []*AccountCredentialDetails

	// READ-ONLY; Password for out of the box experience on device.
	DevicePassword *string

	// READ-ONLY; Serial number of the assigned device.
	DeviceSerialNumber *string

	// READ-ONLY; The base 64 encoded public key to authenticate with the device
	EncodedValidationCertPubKey *string

	// READ-ONLY; Network configuration of the appliance.
	NetworkConfigurations []*ApplianceNetworkConfiguration
}

HeavySecret - The secrets related to a databox heavy.

func (HeavySecret) MarshalJSON

func (h HeavySecret) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type HeavySecret.

func (*HeavySecret) UnmarshalJSON

func (h *HeavySecret) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type HeavySecret.

type IdentityProperties

type IdentityProperties struct {
	// Managed service identity type.
	Type *string

	// User assigned identity properties.
	UserAssigned *UserAssignedProperties
}

IdentityProperties - Managed identity properties.

func (IdentityProperties) MarshalJSON

func (i IdentityProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type IdentityProperties.

func (*IdentityProperties) UnmarshalJSON

func (i *IdentityProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type IdentityProperties.

type ImportDiskDetails

type ImportDiskDetails struct {
	// REQUIRED; BitLocker key used to encrypt the disk.
	BitLockerKey *string

	// REQUIRED; The relative path of the manifest file on the disk.
	ManifestFile *string

	// REQUIRED; The Base16-encoded MD5 hash of the manifest file on the disk.
	ManifestHash *string

	// READ-ONLY; Path to backed up manifest, only returned if enableManifestBackup is true.
	BackupManifestCloudPath *string
}

ImportDiskDetails - Import disk details

func (ImportDiskDetails) MarshalJSON

func (i ImportDiskDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ImportDiskDetails.

func (*ImportDiskDetails) UnmarshalJSON

func (i *ImportDiskDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ImportDiskDetails.

type JobDeliveryInfo

type JobDeliveryInfo struct {
	// Scheduled date time.
	ScheduledDateTime *time.Time
}

JobDeliveryInfo - Additional delivery info.

func (JobDeliveryInfo) MarshalJSON

func (j JobDeliveryInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type JobDeliveryInfo.

func (*JobDeliveryInfo) UnmarshalJSON

func (j *JobDeliveryInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type JobDeliveryInfo.

type JobDeliveryType

type JobDeliveryType string

JobDeliveryType - Delivery type of Job.

const (
	// JobDeliveryTypeNonScheduled - Non Scheduled job.
	JobDeliveryTypeNonScheduled JobDeliveryType = "NonScheduled"
	// JobDeliveryTypeScheduled - Scheduled job.
	JobDeliveryTypeScheduled JobDeliveryType = "Scheduled"
)

func PossibleJobDeliveryTypeValues

func PossibleJobDeliveryTypeValues() []JobDeliveryType

PossibleJobDeliveryTypeValues returns the possible values for the JobDeliveryType const type.

type JobDetails

type JobDetails struct {
	// REQUIRED; Contact details for notification and shipping.
	ContactDetails *ContactDetails

	// REQUIRED; Indicates the type of job details.
	JobDetailsType *ClassDiscriminator

	// Details of the data to be exported from azure.
	DataExportDetails []*DataExportDetails

	// Details of the data to be imported into azure.
	DataImportDetails []*DataImportDetails

	// Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed,
	// the service will generate password itself. This will not be returned in
	// Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least
	// one uppercase alphabet, one number and one special character. Password cannot
	// have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#-$%^!+=;:_()]+
	DevicePassword *string

	// The expected size of the data, which needs to be transferred in this job, in terabytes.
	ExpectedDataSizeInTeraBytes *int32

	// Details about which key encryption type is being used.
	KeyEncryptionKey *KeyEncryptionKey

	// Preferences for the order.
	Preferences *Preferences

	// Optional Reverse Shipping details for order.
	ReverseShippingDetails *ReverseShippingDetails

	// Shipping address of the customer.
	ShippingAddress *ShippingAddress

	// READ-ONLY; Available actions on the job.
	Actions []*CustomerResolutionCode

	// READ-ONLY; Shared access key to download the chain of custody logs
	ChainOfCustodySasKey *string

	// READ-ONLY; List of copy log details.
	CopyLogDetails []CopyLogDetailsClassification

	// READ-ONLY; Copy progress per storage account.
	CopyProgress []*CopyProgress

	// READ-ONLY; DataCenter code.
	DataCenterCode *DataCenterCode

	// READ-ONLY; Datacenter address to ship to, for the given sku and storage location.
	DatacenterAddress DatacenterAddressResponseClassification

	// READ-ONLY; Delivery package shipping details.
	DeliveryPackage *PackageShippingDetails

	// READ-ONLY; Holds device data erasure details
	DeviceErasureDetails *DeviceErasureDetails

	// READ-ONLY; List of stages that run in the job.
	JobStages []*JobStages

	// READ-ONLY; Last mitigation action performed on the job.
	LastMitigationActionOnJob *LastMitigationActionOnJob

	// READ-ONLY; Return package shipping details.
	ReturnPackage *PackageShippingDetails

	// READ-ONLY; Shared access key to download the return shipment label
	ReverseShipmentLabelSasKey *string
}

JobDetails - Databox Job Details

func (*JobDetails) GetCommonJobDetails

func (j *JobDetails) GetCommonJobDetails() *CommonJobDetails

GetCommonJobDetails implements the CommonJobDetailsClassification interface for type JobDetails.

func (JobDetails) MarshalJSON

func (j JobDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type JobDetails.

func (*JobDetails) UnmarshalJSON

func (j *JobDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type JobDetails.

type JobProperties

type JobProperties struct {
	// REQUIRED; Type of the data transfer.
	TransferType *TransferType

	// Delivery Info of Job.
	DeliveryInfo *JobDeliveryInfo

	// Delivery type of Job.
	DeliveryType *JobDeliveryType

	// Details of a job run. This field will only be sent for expand details filter.
	Details CommonJobDetailsClassification

	// READ-ONLY; Reason for cancellation.
	CancellationReason *string

	// READ-ONLY; Top level error for the job.
	Error *CloudError

	// READ-ONLY; Describes whether the job is cancellable or not.
	IsCancellable *bool

	// READ-ONLY; Flag to indicate cancellation of scheduled job.
	IsCancellableWithoutFee *bool

	// READ-ONLY; Describes whether the job is deletable or not.
	IsDeletable *bool

	// READ-ONLY; Is Prepare To Ship Enabled on this job
	IsPrepareToShipEnabled *bool

	// READ-ONLY; Describes whether the shipping address is editable or not.
	IsShippingAddressEditable *bool

	// READ-ONLY; The Editable status for Reverse Shipping Address and Contact Info
	ReverseShippingDetailsUpdate *ReverseShippingDetailsEditStatus

	// READ-ONLY; The Editable status for Reverse Transport preferences
	ReverseTransportPreferenceUpdate *ReverseTransportPreferenceEditStatus

	// READ-ONLY; Time at which the job was started in UTC ISO 8601 format.
	StartTime *time.Time

	// READ-ONLY; Name of the stage which is in progress.
	Status *StageName
}

JobProperties - Job Properties

func (JobProperties) MarshalJSON

func (j JobProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type JobProperties.

func (*JobProperties) UnmarshalJSON

func (j *JobProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type JobProperties.

type JobResource

type JobResource struct {
	// REQUIRED; The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East
	// US, Southeast Asia, etc.). The region of a resource cannot be changed once it is
	// created, but if an identical region is specified on update the request will succeed.
	Location *string

	// REQUIRED; Properties of a job.
	Properties *JobProperties

	// REQUIRED; The sku type.
	SKU *SKU

	// Msi identity of the resource
	Identity *ResourceIdentity

	// The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across
	// resource groups).
	Tags map[string]*string

	// READ-ONLY; Id of the object.
	ID *string

	// READ-ONLY; Name of the object.
	Name *string

	// READ-ONLY; Metadata pertaining to creation and last modification of the resource.
	SystemData *SystemData

	// READ-ONLY; Type of the object.
	Type *string
}

JobResource - Job Resource.

func (JobResource) MarshalJSON

func (j JobResource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type JobResource.

func (*JobResource) UnmarshalJSON

func (j *JobResource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type JobResource.

type JobResourceList

type JobResourceList struct {
	// Link for the next set of job resources.
	NextLink *string

	// List of job resources.
	Value []*JobResource
}

JobResourceList - Job Resource Collection

func (JobResourceList) MarshalJSON

func (j JobResourceList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type JobResourceList.

func (*JobResourceList) UnmarshalJSON

func (j *JobResourceList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type JobResourceList.

type JobResourceUpdateParameter

type JobResourceUpdateParameter struct {
	// Msi identity of the resource
	Identity *ResourceIdentity

	// Properties of a job to be updated.
	Properties *UpdateJobProperties

	// The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across
	// resource groups).
	Tags map[string]*string
}

JobResourceUpdateParameter - The JobResourceUpdateParameter.

func (JobResourceUpdateParameter) MarshalJSON

func (j JobResourceUpdateParameter) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type JobResourceUpdateParameter.

func (*JobResourceUpdateParameter) UnmarshalJSON

func (j *JobResourceUpdateParameter) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type JobResourceUpdateParameter.

type JobSecrets

type JobSecrets struct {
	// REQUIRED; Used to indicate what type of job secrets object.
	JobSecretsType *ClassDiscriminator

	// Contains the list of secret objects for a job.
	PodSecrets []*Secret

	// READ-ONLY; Dc Access Security Code for Customer Managed Shipping
	DcAccessSecurityCode *DcAccessSecurityCode

	// READ-ONLY; Error while fetching the secrets.
	Error *CloudError
}

JobSecrets - The secrets related to a databox job.

func (*JobSecrets) GetCommonJobSecrets

func (j *JobSecrets) GetCommonJobSecrets() *CommonJobSecrets

GetCommonJobSecrets implements the CommonJobSecretsClassification interface for type JobSecrets.

func (JobSecrets) MarshalJSON

func (j JobSecrets) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type JobSecrets.

func (*JobSecrets) UnmarshalJSON

func (j *JobSecrets) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type JobSecrets.

type JobStages

type JobStages struct {
	// READ-ONLY; Display name of the job stage.
	DisplayName *string

	// READ-ONLY; Job Stage Details
	JobStageDetails any

	// READ-ONLY; Name of the job stage.
	StageName *StageName

	// READ-ONLY; Status of the job stage.
	StageStatus *StageStatus

	// READ-ONLY; Time for the job stage in UTC ISO 8601 format.
	StageTime *time.Time
}

JobStages - Job stages.

func (JobStages) MarshalJSON

func (j JobStages) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type JobStages.

func (*JobStages) UnmarshalJSON

func (j *JobStages) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type JobStages.

type JobsClient

type JobsClient struct {
	// contains filtered or unexported fields
}

JobsClient contains the methods for the Jobs group. Don't use this type directly, use NewJobsClient() instead.

func NewJobsClient

func NewJobsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JobsClient, error)

NewJobsClient creates a new instance of JobsClient with the specified values.

  • subscriptionID - The Subscription Id
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*JobsClient) BeginCreate

func (client *JobsClient) BeginCreate(ctx context.Context, resourceGroupName string, jobName string, jobResource JobResource, options *JobsClientBeginCreateOptions) (*runtime.Poller[JobsClientCreateResponse], error)

BeginCreate - Creates a new job with the specified parameters. Existing job cannot be updated with this API and should instead be updated with the Update job API. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2022-12-01

  • resourceGroupName - The Resource Group Name
  • jobName - The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only
  • jobResource - Job details from request body.
  • options - JobsClientBeginCreateOptions contains the optional parameters for the JobsClient.BeginCreate method.
Example (JobsCreate)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsCreate.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewJobsClient().BeginCreate(ctx, "YourResourceGroupName", "TestJobName1", armdatabox.JobResource{
	Location: to.Ptr("westus"),
	SKU: &armdatabox.SKU{
		Name: to.Ptr(armdatabox.SKUNameDataBox),
	},
	Properties: &armdatabox.JobProperties{
		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
		Details: &armdatabox.JobDetails{
			ContactDetails: &armdatabox.ContactDetails{
				ContactName: to.Ptr("XXXX XXXX"),
				EmailList: []*string{
					to.Ptr("xxxx@xxxx.xxx")},
				Phone:          to.Ptr("0000000000"),
				PhoneExtension: to.Ptr(""),
			},
			DataImportDetails: []*armdatabox.DataImportDetails{
				{
					AccountDetails: &armdatabox.StorageAccountDetails{
						DataAccountType:  to.Ptr(armdatabox.DataAccountTypeStorageAccount),
						StorageAccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourcegroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
					},
				}},
			JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
			ShippingAddress: &armdatabox.ShippingAddress{
				AddressType:     to.Ptr(armdatabox.AddressTypeCommercial),
				City:            to.Ptr("XXXX XXXX"),
				CompanyName:     to.Ptr("XXXX XXXX"),
				Country:         to.Ptr("XX"),
				PostalCode:      to.Ptr("00000"),
				StateOrProvince: to.Ptr("XX"),
				StreetAddress1:  to.Ptr("XXXX XXXX"),
				StreetAddress2:  to.Ptr("XXXX XXXX"),
			},
		},
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JobResource = armdatabox.JobResource{
// 	Location: to.Ptr("westus"),
// 	SKU: &armdatabox.SKU{
// 		Name: to.Ptr(armdatabox.SKUNameDataBox),
// 	},
// 	Tags: map[string]*string{
// 	},
// 	Name: to.Ptr("TestJobName1"),
// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
// 	ID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName1"),
// 	Properties: &armdatabox.JobProperties{
// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "1-01-01T00:00:00.000Z"); return t}()),
// 		},
// 		DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
// 		IsCancellable: to.Ptr(true),
// 		IsCancellableWithoutFee: to.Ptr(true),
// 		IsDeletable: to.Ptr(false),
// 		IsShippingAddressEditable: to.Ptr(true),
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-21T09:19:49.002Z"); return t}()),
// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
// 		Details: &armdatabox.JobDetails{
// 			ContactDetails: &armdatabox.ContactDetails{
// 				ContactName: to.Ptr("XXXX XXXX"),
// 				EmailList: []*string{
// 					to.Ptr("xxxx@xxxx.xxx")},
// 					NotificationPreference: []*armdatabox.NotificationPreference{
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDevicePrepared),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDispatched),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDelivered),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNamePickedUp),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameAtAzureDC),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDataCopy),
// 					}},
// 					Phone: to.Ptr("0000000000"),
// 					PhoneExtension: to.Ptr(""),
// 				},
// 				CopyLogDetails: []armdatabox.CopyLogDetailsClassification{
// 				},
// 				JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
// 				JobStages: []*armdatabox.JobStages{
// 					{
// 						DisplayName: to.Ptr("Ordered"),
// 						StageName: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 						StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-21T09:19:52.399Z"); return t}()),
// 					},
// 					{
// 						DisplayName: to.Ptr("Processed"),
// 						StageName: to.Ptr(armdatabox.StageNameDevicePrepared),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Dispatched"),
// 						StageName: to.Ptr(armdatabox.StageNameDispatched),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Delivered"),
// 						StageName: to.Ptr(armdatabox.StageNameDelivered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Picked up"),
// 						StageName: to.Ptr(armdatabox.StageNamePickedUp),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Received"),
// 						StageName: to.Ptr(armdatabox.StageNameAtAzureDC),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Data copy in progress"),
// 						StageName: to.Ptr(armdatabox.StageNameDataCopy),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Completed"),
// 						StageName: to.Ptr(armdatabox.StageNameCompleted),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 				}},
// 				ShippingAddress: &armdatabox.ShippingAddress{
// 					AddressType: to.Ptr(armdatabox.AddressTypeCommercial),
// 					City: to.Ptr("XXXX XXXX"),
// 					CompanyName: to.Ptr("XXXX XXXX"),
// 					Country: to.Ptr("XX"),
// 					PostalCode: to.Ptr("00000"),
// 					StateOrProvince: to.Ptr("XX"),
// 					StreetAddress1: to.Ptr("XXXX XXXX"),
// 					StreetAddress2: to.Ptr("XXXX XXXX"),
// 				},
// 				CopyProgress: []*armdatabox.CopyProgress{
// 				},
// 			},
// 		},
// 	}
Output:

Example (JobsCreateDevicePassword)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsCreateDevicePassword.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewJobsClient().BeginCreate(ctx, "YourResourceGroupName", "TestJobName1", armdatabox.JobResource{
	Location: to.Ptr("westus"),
	SKU: &armdatabox.SKU{
		Name: to.Ptr(armdatabox.SKUNameDataBox),
	},
	Properties: &armdatabox.JobProperties{
		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
		Details: &armdatabox.JobDetails{
			ContactDetails: &armdatabox.ContactDetails{
				ContactName: to.Ptr("XXXX XXXX"),
				EmailList: []*string{
					to.Ptr("xxxx@xxxx.xxx")},
				Phone:          to.Ptr("0000000000"),
				PhoneExtension: to.Ptr(""),
			},
			DataImportDetails: []*armdatabox.DataImportDetails{
				{
					AccountDetails: &armdatabox.StorageAccountDetails{
						DataAccountType:  to.Ptr(armdatabox.DataAccountTypeStorageAccount),
						SharePassword:    to.Ptr("<sharePassword>"),
						StorageAccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
					},
				}},
			JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
			ShippingAddress: &armdatabox.ShippingAddress{
				AddressType:     to.Ptr(armdatabox.AddressTypeCommercial),
				City:            to.Ptr("XXXX XXXX"),
				CompanyName:     to.Ptr("XXXX XXXX"),
				Country:         to.Ptr("XX"),
				PostalCode:      to.Ptr("00000"),
				StateOrProvince: to.Ptr("XX"),
				StreetAddress1:  to.Ptr("XXXX XXXX"),
				StreetAddress2:  to.Ptr("XXXX XXXX"),
			},
			DevicePassword: to.Ptr("<devicePassword>"),
		},
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JobResource = armdatabox.JobResource{
// 	Location: to.Ptr("westus"),
// 	SKU: &armdatabox.SKU{
// 		Name: to.Ptr(armdatabox.SKUNameDataBox),
// 	},
// 	Tags: map[string]*string{
// 	},
// 	Name: to.Ptr("TestJobName1"),
// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
// 	ID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName1"),
// 	Properties: &armdatabox.JobProperties{
// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "1-01-01T00:00:00.000Z"); return t}()),
// 		},
// 		DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
// 		IsCancellable: to.Ptr(true),
// 		IsCancellableWithoutFee: to.Ptr(true),
// 		IsDeletable: to.Ptr(false),
// 		IsShippingAddressEditable: to.Ptr(true),
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-21T09:19:49.002Z"); return t}()),
// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
// 		Details: &armdatabox.JobDetails{
// 			ContactDetails: &armdatabox.ContactDetails{
// 				ContactName: to.Ptr("XXXX XXXX"),
// 				EmailList: []*string{
// 					to.Ptr("xxxx@xxxx.xxx")},
// 					NotificationPreference: []*armdatabox.NotificationPreference{
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDevicePrepared),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDispatched),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDelivered),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNamePickedUp),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameAtAzureDC),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDataCopy),
// 					}},
// 					Phone: to.Ptr("0000000000"),
// 					PhoneExtension: to.Ptr(""),
// 				},
// 				CopyLogDetails: []armdatabox.CopyLogDetailsClassification{
// 				},
// 				JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
// 				JobStages: []*armdatabox.JobStages{
// 					{
// 						DisplayName: to.Ptr("Ordered"),
// 						StageName: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 						StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-21T09:19:52.399Z"); return t}()),
// 					},
// 					{
// 						DisplayName: to.Ptr("Processed"),
// 						StageName: to.Ptr(armdatabox.StageNameDevicePrepared),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Dispatched"),
// 						StageName: to.Ptr(armdatabox.StageNameDispatched),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Delivered"),
// 						StageName: to.Ptr(armdatabox.StageNameDelivered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Picked up"),
// 						StageName: to.Ptr(armdatabox.StageNamePickedUp),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Received"),
// 						StageName: to.Ptr(armdatabox.StageNameAtAzureDC),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Data copy in progress"),
// 						StageName: to.Ptr(armdatabox.StageNameDataCopy),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Completed"),
// 						StageName: to.Ptr(armdatabox.StageNameCompleted),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 				}},
// 				ShippingAddress: &armdatabox.ShippingAddress{
// 					AddressType: to.Ptr(armdatabox.AddressTypeCommercial),
// 					City: to.Ptr("XXXX XXXX"),
// 					CompanyName: to.Ptr("XXXX XXXX"),
// 					Country: to.Ptr("XX"),
// 					PostalCode: to.Ptr("00000"),
// 					StateOrProvince: to.Ptr("XX"),
// 					StreetAddress1: to.Ptr("XXXX XXXX"),
// 					StreetAddress2: to.Ptr("XXXX XXXX"),
// 				},
// 				CopyProgress: []*armdatabox.CopyProgress{
// 				},
// 			},
// 		},
// 	}
Output:

Example (JobsCreateDoubleEncryption)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsCreateDoubleEncryption.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewJobsClient().BeginCreate(ctx, "YourResourceGroupName", "TestJobName1", armdatabox.JobResource{
	Location: to.Ptr("westus"),
	SKU: &armdatabox.SKU{
		Name: to.Ptr(armdatabox.SKUNameDataBox),
	},
	Properties: &armdatabox.JobProperties{
		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
		Details: &armdatabox.JobDetails{
			ContactDetails: &armdatabox.ContactDetails{
				ContactName: to.Ptr("XXXX XXXX"),
				EmailList: []*string{
					to.Ptr("xxxx@xxxx.xxx")},
				Phone:          to.Ptr("0000000000"),
				PhoneExtension: to.Ptr(""),
			},
			DataImportDetails: []*armdatabox.DataImportDetails{
				{
					AccountDetails: &armdatabox.StorageAccountDetails{
						DataAccountType:  to.Ptr(armdatabox.DataAccountTypeStorageAccount),
						StorageAccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourcegroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
					},
				}},
			JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
			Preferences: &armdatabox.Preferences{
				EncryptionPreferences: &armdatabox.EncryptionPreferences{
					DoubleEncryption: to.Ptr(armdatabox.DoubleEncryptionEnabled),
				},
			},
			ShippingAddress: &armdatabox.ShippingAddress{
				AddressType:     to.Ptr(armdatabox.AddressTypeCommercial),
				City:            to.Ptr("XXXX XXXX"),
				CompanyName:     to.Ptr("XXXX XXXX"),
				Country:         to.Ptr("XX"),
				PostalCode:      to.Ptr("00000"),
				StateOrProvince: to.Ptr("XX"),
				StreetAddress1:  to.Ptr("XXXX XXXX"),
				StreetAddress2:  to.Ptr("XXXX XXXX"),
			},
		},
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JobResource = armdatabox.JobResource{
// 	Location: to.Ptr("westus"),
// 	SKU: &armdatabox.SKU{
// 		Name: to.Ptr(armdatabox.SKUNameDataBox),
// 	},
// 	Tags: map[string]*string{
// 	},
// 	Name: to.Ptr("TestJobName1"),
// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
// 	ID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName1"),
// 	Properties: &armdatabox.JobProperties{
// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "1-01-01T00:00:00.000Z"); return t}()),
// 		},
// 		DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
// 		IsCancellable: to.Ptr(true),
// 		IsCancellableWithoutFee: to.Ptr(true),
// 		IsDeletable: to.Ptr(false),
// 		IsShippingAddressEditable: to.Ptr(true),
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-21T09:19:49.002Z"); return t}()),
// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 		TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
// 		Details: &armdatabox.JobDetails{
// 			ContactDetails: &armdatabox.ContactDetails{
// 				ContactName: to.Ptr("XXXX XXXX"),
// 				EmailList: []*string{
// 					to.Ptr("xxxx@xxxx.xxx")},
// 					NotificationPreference: []*armdatabox.NotificationPreference{
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDevicePrepared),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDataCopy),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDispatched),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDelivered),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNamePickedUp),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameAtAzureDC),
// 					}},
// 					Phone: to.Ptr("0000000000"),
// 					PhoneExtension: to.Ptr(""),
// 				},
// 				CopyLogDetails: []armdatabox.CopyLogDetailsClassification{
// 				},
// 				JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
// 				JobStages: []*armdatabox.JobStages{
// 					{
// 						DisplayName: to.Ptr("Ordered"),
// 						StageName: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 						StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-21T09:19:52.399Z"); return t}()),
// 					},
// 					{
// 						DisplayName: to.Ptr("Processed"),
// 						StageName: to.Ptr(armdatabox.StageNameDevicePrepared),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Data copy in progress"),
// 						StageName: to.Ptr(armdatabox.StageNameDataCopy),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Dispatched"),
// 						StageName: to.Ptr(armdatabox.StageNameDispatched),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Delivered"),
// 						StageName: to.Ptr(armdatabox.StageNameDelivered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Picked up"),
// 						StageName: to.Ptr(armdatabox.StageNamePickedUp),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Received"),
// 						StageName: to.Ptr(armdatabox.StageNameAtAzureDC),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Completed"),
// 						StageName: to.Ptr(armdatabox.StageNameCompleted),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 				}},
// 				ShippingAddress: &armdatabox.ShippingAddress{
// 					AddressType: to.Ptr(armdatabox.AddressTypeCommercial),
// 					City: to.Ptr("XXXX XXXX"),
// 					CompanyName: to.Ptr("XXXX XXXX"),
// 					Country: to.Ptr("XX"),
// 					PostalCode: to.Ptr("00000"),
// 					StateOrProvince: to.Ptr("XX"),
// 					StreetAddress1: to.Ptr("XXXX XXXX"),
// 					StreetAddress2: to.Ptr("XXXX XXXX"),
// 				},
// 				CopyProgress: []*armdatabox.CopyProgress{
// 				},
// 			},
// 		},
// 	}
Output:

Example (JobsCreateExport)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsCreateExport.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewJobsClient().BeginCreate(ctx, "YourResourceGroupName", "TestJobName1", armdatabox.JobResource{
	Location: to.Ptr("westus"),
	SKU: &armdatabox.SKU{
		Name: to.Ptr(armdatabox.SKUNameDataBox),
	},
	Properties: &armdatabox.JobProperties{
		TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
		Details: &armdatabox.JobDetails{
			ContactDetails: &armdatabox.ContactDetails{
				ContactName: to.Ptr("XXXX XXXX"),
				EmailList: []*string{
					to.Ptr("xxxx@xxxx.xxx")},
				Phone:          to.Ptr("0000000000"),
				PhoneExtension: to.Ptr(""),
			},
			DataExportDetails: []*armdatabox.DataExportDetails{
				{
					AccountDetails: &armdatabox.StorageAccountDetails{
						DataAccountType:  to.Ptr(armdatabox.DataAccountTypeStorageAccount),
						StorageAccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
					},
					TransferConfiguration: &armdatabox.TransferConfiguration{
						TransferAllDetails: &armdatabox.TransferConfigurationTransferAllDetails{
							Include: &armdatabox.TransferAllDetails{
								DataAccountType:  to.Ptr(armdatabox.DataAccountTypeStorageAccount),
								TransferAllBlobs: to.Ptr(true),
								TransferAllFiles: to.Ptr(true),
							},
						},
						TransferConfigurationType: to.Ptr(armdatabox.TransferConfigurationTypeTransferAll),
					},
				}},
			JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
			ShippingAddress: &armdatabox.ShippingAddress{
				AddressType:     to.Ptr(armdatabox.AddressTypeCommercial),
				City:            to.Ptr("XXXX XXXX"),
				CompanyName:     to.Ptr("XXXX XXXX"),
				Country:         to.Ptr("XX"),
				PostalCode:      to.Ptr("00000"),
				StateOrProvince: to.Ptr("XX"),
				StreetAddress1:  to.Ptr("XXXX XXXX"),
				StreetAddress2:  to.Ptr("XXXX XXXX"),
			},
		},
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JobResource = armdatabox.JobResource{
// 	Location: to.Ptr("westus"),
// 	SKU: &armdatabox.SKU{
// 		Name: to.Ptr(armdatabox.SKUNameDataBox),
// 	},
// 	Tags: map[string]*string{
// 	},
// 	Name: to.Ptr("TestJobName1"),
// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
// 	ID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName1"),
// 	Properties: &armdatabox.JobProperties{
// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "1-01-01T00:00:00.000Z"); return t}()),
// 		},
// 		DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
// 		IsCancellable: to.Ptr(true),
// 		IsCancellableWithoutFee: to.Ptr(true),
// 		IsDeletable: to.Ptr(false),
// 		IsShippingAddressEditable: to.Ptr(true),
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-21T09:19:49.002Z"); return t}()),
// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 		TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
// 		Details: &armdatabox.JobDetails{
// 			ContactDetails: &armdatabox.ContactDetails{
// 				ContactName: to.Ptr("XXXX XXXX"),
// 				EmailList: []*string{
// 					to.Ptr("xxxx@xxxx.xxx")},
// 					NotificationPreference: []*armdatabox.NotificationPreference{
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDevicePrepared),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDataCopy),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDispatched),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDelivered),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNamePickedUp),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameAtAzureDC),
// 					}},
// 					Phone: to.Ptr("0000000000"),
// 					PhoneExtension: to.Ptr(""),
// 				},
// 				CopyLogDetails: []armdatabox.CopyLogDetailsClassification{
// 				},
// 				JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
// 				JobStages: []*armdatabox.JobStages{
// 					{
// 						DisplayName: to.Ptr("Ordered"),
// 						StageName: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 						StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-21T09:19:52.399Z"); return t}()),
// 					},
// 					{
// 						DisplayName: to.Ptr("Processed"),
// 						StageName: to.Ptr(armdatabox.StageNameDevicePrepared),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Data copy in progress"),
// 						StageName: to.Ptr(armdatabox.StageNameDataCopy),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Dispatched"),
// 						StageName: to.Ptr(armdatabox.StageNameDispatched),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Delivered"),
// 						StageName: to.Ptr(armdatabox.StageNameDelivered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Picked up"),
// 						StageName: to.Ptr(armdatabox.StageNamePickedUp),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Received"),
// 						StageName: to.Ptr(armdatabox.StageNameAtAzureDC),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Completed"),
// 						StageName: to.Ptr(armdatabox.StageNameCompleted),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 				}},
// 				ShippingAddress: &armdatabox.ShippingAddress{
// 					AddressType: to.Ptr(armdatabox.AddressTypeCommercial),
// 					City: to.Ptr("XXXX XXXX"),
// 					CompanyName: to.Ptr("XXXX XXXX"),
// 					Country: to.Ptr("XX"),
// 					PostalCode: to.Ptr("00000"),
// 					StateOrProvince: to.Ptr("XX"),
// 					StreetAddress1: to.Ptr("XXXX XXXX"),
// 					StreetAddress2: to.Ptr("XXXX XXXX"),
// 				},
// 				CopyProgress: []*armdatabox.CopyProgress{
// 				},
// 			},
// 		},
// 	}
Output:

Example (JobsCreateWithUserAssignedIdentity)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsCreateWithUserAssignedIdentity.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewJobsClient().BeginCreate(ctx, "YourResourceGroupName", "TestJobName1", armdatabox.JobResource{
	Identity: &armdatabox.ResourceIdentity{
		Type: to.Ptr("UserAssigned"),
		UserAssignedIdentities: map[string]*armdatabox.UserAssignedIdentity{
			"/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testIdentity": {},
		},
	},
	Location: to.Ptr("westus"),
	SKU: &armdatabox.SKU{
		Name: to.Ptr(armdatabox.SKUNameDataBox),
	},
	Properties: &armdatabox.JobProperties{
		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
		Details: &armdatabox.JobDetails{
			ContactDetails: &armdatabox.ContactDetails{
				ContactName: to.Ptr("XXXX XXXX"),
				EmailList: []*string{
					to.Ptr("xxxx@xxxx.xxx")},
				Phone:          to.Ptr("0000000000"),
				PhoneExtension: to.Ptr(""),
			},
			DataImportDetails: []*armdatabox.DataImportDetails{
				{
					AccountDetails: &armdatabox.StorageAccountDetails{
						DataAccountType:  to.Ptr(armdatabox.DataAccountTypeStorageAccount),
						StorageAccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
					},
				}},
			JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
			ShippingAddress: &armdatabox.ShippingAddress{
				AddressType:     to.Ptr(armdatabox.AddressTypeCommercial),
				City:            to.Ptr("XXXX XXXX"),
				CompanyName:     to.Ptr("XXXX XXXX"),
				Country:         to.Ptr("XX"),
				PostalCode:      to.Ptr("00000"),
				StateOrProvince: to.Ptr("XX"),
				StreetAddress1:  to.Ptr("XXXX XXXX"),
				StreetAddress2:  to.Ptr("XXXX XXXX"),
			},
		},
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JobResource = armdatabox.JobResource{
// 	Location: to.Ptr("westus"),
// 	SKU: &armdatabox.SKU{
// 		Name: to.Ptr(armdatabox.SKUNameDataBox),
// 	},
// 	Tags: map[string]*string{
// 	},
// 	Name: to.Ptr("TestJobName1"),
// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
// 	ID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName1"),
// 	Properties: &armdatabox.JobProperties{
// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "1-01-01T00:00:00.000Z"); return t}()),
// 		},
// 		DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
// 		IsCancellable: to.Ptr(true),
// 		IsCancellableWithoutFee: to.Ptr(true),
// 		IsDeletable: to.Ptr(false),
// 		IsShippingAddressEditable: to.Ptr(true),
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-21T09:19:49.002Z"); return t}()),
// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 		TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
// 		Details: &armdatabox.JobDetails{
// 			ContactDetails: &armdatabox.ContactDetails{
// 				ContactName: to.Ptr("XXXX XXXX"),
// 				EmailList: []*string{
// 					to.Ptr("xxxx@xxxx.xxx")},
// 					NotificationPreference: []*armdatabox.NotificationPreference{
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDevicePrepared),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDataCopy),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDispatched),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDelivered),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNamePickedUp),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameAtAzureDC),
// 					}},
// 					Phone: to.Ptr("0000000000"),
// 					PhoneExtension: to.Ptr(""),
// 				},
// 				CopyLogDetails: []armdatabox.CopyLogDetailsClassification{
// 				},
// 				JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
// 				JobStages: []*armdatabox.JobStages{
// 					{
// 						DisplayName: to.Ptr("Ordered"),
// 						StageName: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 						StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-21T09:19:52.399Z"); return t}()),
// 					},
// 					{
// 						DisplayName: to.Ptr("Processed"),
// 						StageName: to.Ptr(armdatabox.StageNameDevicePrepared),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Data copy in progress"),
// 						StageName: to.Ptr(armdatabox.StageNameDataCopy),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Dispatched"),
// 						StageName: to.Ptr(armdatabox.StageNameDispatched),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Delivered"),
// 						StageName: to.Ptr(armdatabox.StageNameDelivered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Picked up"),
// 						StageName: to.Ptr(armdatabox.StageNamePickedUp),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Received"),
// 						StageName: to.Ptr(armdatabox.StageNameAtAzureDC),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Completed"),
// 						StageName: to.Ptr(armdatabox.StageNameCompleted),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 				}},
// 				ShippingAddress: &armdatabox.ShippingAddress{
// 					AddressType: to.Ptr(armdatabox.AddressTypeCommercial),
// 					City: to.Ptr("XXXX XXXX"),
// 					CompanyName: to.Ptr("XXXX XXXX"),
// 					Country: to.Ptr("XX"),
// 					PostalCode: to.Ptr("00000"),
// 					StateOrProvince: to.Ptr("XX"),
// 					StreetAddress1: to.Ptr("XXXX XXXX"),
// 					StreetAddress2: to.Ptr("XXXX XXXX"),
// 				},
// 				CopyProgress: []*armdatabox.CopyProgress{
// 				},
// 			},
// 		},
// 	}
Output:

func (*JobsClient) BeginDelete

func (client *JobsClient) BeginDelete(ctx context.Context, resourceGroupName string, jobName string, options *JobsClientBeginDeleteOptions) (*runtime.Poller[JobsClientDeleteResponse], error)

BeginDelete - Deletes a job. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2022-12-01

  • resourceGroupName - The Resource Group Name
  • jobName - The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only
  • options - JobsClientBeginDeleteOptions contains the optional parameters for the JobsClient.BeginDelete method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsDelete.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewJobsClient().BeginDelete(ctx, "YourResourceGroupName", "TestJobName1", nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
Output:

func (*JobsClient) BeginUpdate

func (client *JobsClient) BeginUpdate(ctx context.Context, resourceGroupName string, jobName string, jobResourceUpdateParameter JobResourceUpdateParameter, options *JobsClientBeginUpdateOptions) (*runtime.Poller[JobsClientUpdateResponse], error)

BeginUpdate - Updates the properties of an existing job. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2022-12-01

  • resourceGroupName - The Resource Group Name
  • jobName - The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only
  • jobResourceUpdateParameter - Job update parameters from request body.
  • options - JobsClientBeginUpdateOptions contains the optional parameters for the JobsClient.BeginUpdate method.
Example (JobsPatch)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsPatch.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewJobsClient().BeginUpdate(ctx, "YourResourceGroupName", "TestJobName1", armdatabox.JobResourceUpdateParameter{
	Properties: &armdatabox.UpdateJobProperties{
		Details: &armdatabox.UpdateJobDetails{
			ContactDetails: &armdatabox.ContactDetails{
				ContactName: to.Ptr("XXXX XXXX"),
				EmailList: []*string{
					to.Ptr("xxxx@xxxx.xxx")},
				Phone:          to.Ptr("0000000000"),
				PhoneExtension: to.Ptr(""),
			},
			ShippingAddress: &armdatabox.ShippingAddress{
				AddressType:     to.Ptr(armdatabox.AddressTypeCommercial),
				City:            to.Ptr("XXXX XXXX"),
				CompanyName:     to.Ptr("XXXX XXXX"),
				Country:         to.Ptr("XX"),
				PostalCode:      to.Ptr("00000"),
				StateOrProvince: to.Ptr("XX"),
				StreetAddress1:  to.Ptr("XXXX XXXX"),
				StreetAddress2:  to.Ptr("XXXX XXXX"),
			},
		},
	},
}, &armdatabox.JobsClientBeginUpdateOptions{IfMatch: nil})
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JobResource = armdatabox.JobResource{
// 	Location: to.Ptr("westus"),
// 	SKU: &armdatabox.SKU{
// 		Name: to.Ptr(armdatabox.SKUNameDataBox),
// 	},
// 	Tags: map[string]*string{
// 	},
// 	Name: to.Ptr("TestJobName1"),
// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
// 	ID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName1"),
// 	Properties: &armdatabox.JobProperties{
// 		IsCancellable: to.Ptr(true),
// 		IsShippingAddressEditable: to.Ptr(true),
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-04-13T10:58:38.999Z"); return t}()),
// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
// 	},
// }
Output:

Example (JobsPatchCmk)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsPatchCmk.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewJobsClient().BeginUpdate(ctx, "YourResourceGroupName", "TestJobName1", armdatabox.JobResourceUpdateParameter{
	Properties: &armdatabox.UpdateJobProperties{
		Details: &armdatabox.UpdateJobDetails{
			KeyEncryptionKey: &armdatabox.KeyEncryptionKey{
				KekType:            to.Ptr(armdatabox.KekTypeCustomerManaged),
				KekURL:             to.Ptr("https://xxx.xxx.xx"),
				KekVaultResourceID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.KeyVault/vaults/YourKeyVaultName"),
			},
		},
	},
}, &armdatabox.JobsClientBeginUpdateOptions{IfMatch: nil})
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JobResource = armdatabox.JobResource{
// 	Location: to.Ptr("westus"),
// 	SKU: &armdatabox.SKU{
// 		Name: to.Ptr(armdatabox.SKUNameDataBox),
// 	},
// 	Tags: map[string]*string{
// 	},
// 	Name: to.Ptr("TestJobName1"),
// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
// 	ID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName1"),
// 	Properties: &armdatabox.JobProperties{
// 		IsCancellable: to.Ptr(true),
// 		IsShippingAddressEditable: to.Ptr(true),
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-04-13T10:58:38.999Z"); return t}()),
// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
// 	},
// }
Output:

Example (JobsPatchSystemAssignedToUserAssigned)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsPatchSystemAssignedToUserAssigned.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewJobsClient().BeginUpdate(ctx, "YourResourceGroupName", "TestJobName1", armdatabox.JobResourceUpdateParameter{
	Identity: &armdatabox.ResourceIdentity{
		Type: to.Ptr("SystemAssigned,UserAssigned"),
		UserAssignedIdentities: map[string]*armdatabox.UserAssignedIdentity{
			"/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testIdentity": {},
		},
	},
	Properties: &armdatabox.UpdateJobProperties{
		Details: &armdatabox.UpdateJobDetails{
			KeyEncryptionKey: &armdatabox.KeyEncryptionKey{
				IdentityProperties: &armdatabox.IdentityProperties{
					Type: to.Ptr("UserAssigned"),
					UserAssigned: &armdatabox.UserAssignedProperties{
						ResourceID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testIdentity"),
					},
				},
				KekType:            to.Ptr(armdatabox.KekTypeCustomerManaged),
				KekURL:             to.Ptr("https://xxx.xxx.xx"),
				KekVaultResourceID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.KeyVault/vaults/YourKeyVaultName"),
			},
		},
	},
}, &armdatabox.JobsClientBeginUpdateOptions{IfMatch: nil})
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
	log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JobResource = armdatabox.JobResource{
// 	Location: to.Ptr("westus"),
// 	SKU: &armdatabox.SKU{
// 		Name: to.Ptr(armdatabox.SKUNameDataBox),
// 	},
// 	Tags: map[string]*string{
// 	},
// 	Name: to.Ptr("TestJobName1"),
// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
// 	ID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName1"),
// 	Properties: &armdatabox.JobProperties{
// 		IsCancellable: to.Ptr(true),
// 		IsShippingAddressEditable: to.Ptr(true),
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-04-13T10:58:38.999Z"); return t}()),
// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
// 	},
// }
Output:

func (*JobsClient) BookShipmentPickUp

func (client *JobsClient) BookShipmentPickUp(ctx context.Context, resourceGroupName string, jobName string, shipmentPickUpRequest ShipmentPickUpRequest, options *JobsClientBookShipmentPickUpOptions) (JobsClientBookShipmentPickUpResponse, error)

BookShipmentPickUp - Book shipment pick up. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2022-12-01

  • resourceGroupName - The Resource Group Name
  • jobName - The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only
  • shipmentPickUpRequest - Details of shipment pick up request.
  • options - JobsClientBookShipmentPickUpOptions contains the optional parameters for the JobsClient.BookShipmentPickUp method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/BookShipmentPickupPost.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewJobsClient().BookShipmentPickUp(ctx, "YourResourceGroupName", "TestJobName1", armdatabox.ShipmentPickUpRequest{
	EndTime:          to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-22T18:30:00.000Z"); return t }()),
	ShipmentLocation: to.Ptr("Front desk"),
	StartTime:        to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-20T18:30:00.000Z"); return t }()),
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ShipmentPickUpResponse = armdatabox.ShipmentPickUpResponse{
// 	ConfirmationNumber: to.Ptr("XXXXXXXXXXX"),
// 	ReadyByTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-20T18:30:00.000Z"); return t}()),
// }
Output:

func (*JobsClient) Cancel

func (client *JobsClient) Cancel(ctx context.Context, resourceGroupName string, jobName string, cancellationReason CancellationReason, options *JobsClientCancelOptions) (JobsClientCancelResponse, error)

Cancel - CancelJob. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2022-12-01

  • resourceGroupName - The Resource Group Name
  • jobName - The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only
  • cancellationReason - Reason for cancellation.
  • options - JobsClientCancelOptions contains the optional parameters for the JobsClient.Cancel method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsCancelPost.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewJobsClient().Cancel(ctx, "YourResourceGroupName", "TestJobName1", armdatabox.CancellationReason{
	Reason: to.Ptr("CancelTest"),
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

func (*JobsClient) Get

func (client *JobsClient) Get(ctx context.Context, resourceGroupName string, jobName string, options *JobsClientGetOptions) (JobsClientGetResponse, error)

Get - Gets information about the specified job. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2022-12-01

  • resourceGroupName - The Resource Group Name
  • jobName - The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only
  • options - JobsClientGetOptions contains the optional parameters for the JobsClient.Get method.
Example (JobsGet)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsGet.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewJobsClient().Get(ctx, "YourResourceGroupName", "TestJobName1", &armdatabox.JobsClientGetOptions{Expand: to.Ptr("details")})
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JobResource = armdatabox.JobResource{
// 	Identity: &armdatabox.ResourceIdentity{
// 		Type: to.Ptr("None"),
// 	},
// 	Location: to.Ptr("westus"),
// 	SKU: &armdatabox.SKU{
// 		Name: to.Ptr(armdatabox.SKUNameDataBox),
// 	},
// 	Tags: map[string]*string{
// 	},
// 	Name: to.Ptr("TestJobName1"),
// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
// 	ID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName1"),
// 	Properties: &armdatabox.JobProperties{
// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "1-01-01T00:00:00.000Z"); return t}()),
// 		},
// 		DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
// 		IsCancellable: to.Ptr(true),
// 		IsCancellableWithoutFee: to.Ptr(true),
// 		IsDeletable: to.Ptr(false),
// 		IsPrepareToShipEnabled: to.Ptr(true),
// 		IsShippingAddressEditable: to.Ptr(true),
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-08-07T05:20:36.334Z"); return t}()),
// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
// 		Details: &armdatabox.JobDetails{
// 			ContactDetails: &armdatabox.ContactDetails{
// 				ContactName: to.Ptr("XXXX XXXX"),
// 				EmailList: []*string{
// 					to.Ptr("xxxx@xxxx.xxx")},
// 					NotificationPreference: []*armdatabox.NotificationPreference{
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDevicePrepared),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDispatched),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDelivered),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNamePickedUp),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameAtAzureDC),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDataCopy),
// 					}},
// 					Phone: to.Ptr("0000000000"),
// 					PhoneExtension: to.Ptr(""),
// 				},
// 				CopyLogDetails: []armdatabox.CopyLogDetailsClassification{
// 				},
// 				DataImportDetails: []*armdatabox.DataImportDetails{
// 					{
// 						AccountDetails: &armdatabox.StorageAccountDetails{
// 							DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
// 							StorageAccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourcegroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
// 						},
// 				}},
// 				DeliveryPackage: &armdatabox.PackageShippingDetails{
// 					CarrierName: to.Ptr(""),
// 					TrackingID: to.Ptr(""),
// 					TrackingURL: to.Ptr(""),
// 				},
// 				JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
// 				JobStages: []*armdatabox.JobStages{
// 					{
// 						DisplayName: to.Ptr("Ordered"),
// 						StageName: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 						StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-08-07T05:20:40.187Z"); return t}()),
// 					},
// 					{
// 						DisplayName: to.Ptr("Processed"),
// 						StageName: to.Ptr(armdatabox.StageNameDevicePrepared),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Dispatched"),
// 						StageName: to.Ptr(armdatabox.StageNameDispatched),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Delivered"),
// 						StageName: to.Ptr(armdatabox.StageNameDelivered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Picked up"),
// 						StageName: to.Ptr(armdatabox.StageNamePickedUp),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Received"),
// 						StageName: to.Ptr(armdatabox.StageNameAtAzureDC),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Data copy in progress"),
// 						StageName: to.Ptr(armdatabox.StageNameDataCopy),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Completed"),
// 						StageName: to.Ptr(armdatabox.StageNameCompleted),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 				}},
// 				KeyEncryptionKey: &armdatabox.KeyEncryptionKey{
// 					KekType: to.Ptr(armdatabox.KekTypeMicrosoftManaged),
// 				},
// 				ReturnPackage: &armdatabox.PackageShippingDetails{
// 					CarrierName: to.Ptr(""),
// 					TrackingID: to.Ptr(""),
// 					TrackingURL: to.Ptr(""),
// 				},
// 				ReverseShipmentLabelSasKey: to.Ptr("https://xxx.xxx.xx"),
// 				ShippingAddress: &armdatabox.ShippingAddress{
// 					AddressType: to.Ptr(armdatabox.AddressTypeCommercial),
// 					City: to.Ptr("XXXX XXXX"),
// 					CompanyName: to.Ptr("XXXX XXXX"),
// 					Country: to.Ptr("XX"),
// 					PostalCode: to.Ptr("00000"),
// 					StateOrProvince: to.Ptr("XX"),
// 					StreetAddress1: to.Ptr("XXXX XXXX"),
// 					StreetAddress2: to.Ptr("XXXX XXXX"),
// 				},
// 				CopyProgress: []*armdatabox.CopyProgress{
// 				},
// 			},
// 		},
// 	}
Output:

Example (JobsGetCmk)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsGetCmk.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewJobsClient().Get(ctx, "YourResourceGroupName", "TestJobName1", &armdatabox.JobsClientGetOptions{Expand: to.Ptr("details")})
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JobResource = armdatabox.JobResource{
// 	Identity: &armdatabox.ResourceIdentity{
// 		Type: to.Ptr("SystemAssigned"),
// 		PrincipalID: to.Ptr("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"),
// 		TenantID: to.Ptr("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"),
// 	},
// 	Location: to.Ptr("westus"),
// 	SKU: &armdatabox.SKU{
// 		Name: to.Ptr(armdatabox.SKUNameDataBox),
// 	},
// 	Tags: map[string]*string{
// 	},
// 	Name: to.Ptr("TestJobName1"),
// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
// 	ID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName1"),
// 	Properties: &armdatabox.JobProperties{
// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "1-01-01T00:00:00.000Z"); return t}()),
// 		},
// 		DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
// 		IsCancellable: to.Ptr(true),
// 		IsCancellableWithoutFee: to.Ptr(true),
// 		IsDeletable: to.Ptr(false),
// 		IsPrepareToShipEnabled: to.Ptr(true),
// 		IsShippingAddressEditable: to.Ptr(true),
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-08-07T05:17:42.000Z"); return t}()),
// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
// 		Details: &armdatabox.JobDetails{
// 			ContactDetails: &armdatabox.ContactDetails{
// 				ContactName: to.Ptr("XXXX XXXX"),
// 				EmailList: []*string{
// 					to.Ptr("xxxx@xxxx.xxx")},
// 					NotificationPreference: []*armdatabox.NotificationPreference{
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDevicePrepared),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDispatched),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDelivered),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNamePickedUp),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameAtAzureDC),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDataCopy),
// 					}},
// 					Phone: to.Ptr("0000000000"),
// 					PhoneExtension: to.Ptr(""),
// 				},
// 				CopyLogDetails: []armdatabox.CopyLogDetailsClassification{
// 				},
// 				DataImportDetails: []*armdatabox.DataImportDetails{
// 					{
// 						AccountDetails: &armdatabox.StorageAccountDetails{
// 							DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
// 							StorageAccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
// 						},
// 				}},
// 				DeliveryPackage: &armdatabox.PackageShippingDetails{
// 					CarrierName: to.Ptr(""),
// 					TrackingID: to.Ptr(""),
// 					TrackingURL: to.Ptr(""),
// 				},
// 				JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
// 				JobStages: []*armdatabox.JobStages{
// 					{
// 						DisplayName: to.Ptr("Ordered"),
// 						StageName: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 						StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-08-07T05:17:44.873Z"); return t}()),
// 					},
// 					{
// 						DisplayName: to.Ptr("Processed"),
// 						StageName: to.Ptr(armdatabox.StageNameDevicePrepared),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Dispatched"),
// 						StageName: to.Ptr(armdatabox.StageNameDispatched),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Delivered"),
// 						StageName: to.Ptr(armdatabox.StageNameDelivered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Picked up"),
// 						StageName: to.Ptr(armdatabox.StageNamePickedUp),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Received"),
// 						StageName: to.Ptr(armdatabox.StageNameAtAzureDC),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Data copy in progress"),
// 						StageName: to.Ptr(armdatabox.StageNameDataCopy),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					},
// 					{
// 						DisplayName: to.Ptr("Completed"),
// 						StageName: to.Ptr(armdatabox.StageNameCompleted),
// 						StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 				}},
// 				KeyEncryptionKey: &armdatabox.KeyEncryptionKey{
// 					KekType: to.Ptr(armdatabox.KekTypeCustomerManaged),
// 					KekURL: to.Ptr("https://xxx.xxx.xx"),
// 					KekVaultResourceID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.KeyVault/vaults/YourKeyVaultName"),
// 				},
// 				ReturnPackage: &armdatabox.PackageShippingDetails{
// 					CarrierName: to.Ptr(""),
// 					TrackingID: to.Ptr(""),
// 					TrackingURL: to.Ptr(""),
// 				},
// 				ReverseShipmentLabelSasKey: to.Ptr("https://xxx.xxx.xx"),
// 				ShippingAddress: &armdatabox.ShippingAddress{
// 					AddressType: to.Ptr(armdatabox.AddressTypeCommercial),
// 					City: to.Ptr("XXXX XXXX"),
// 					CompanyName: to.Ptr("XXXX XXXX"),
// 					Country: to.Ptr("XX"),
// 					PostalCode: to.Ptr("00000"),
// 					StateOrProvince: to.Ptr("XX"),
// 					StreetAddress1: to.Ptr("XXXX XXXX"),
// 					StreetAddress2: to.Ptr("XXXX XXXX"),
// 				},
// 				CopyProgress: []*armdatabox.CopyProgress{
// 				},
// 			},
// 		},
// 	}
Output:

Example (JobsGetCopyStuck)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsGetCopyStuck.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewJobsClient().Get(ctx, "YourResourceGroupName", "TestJobName1", &armdatabox.JobsClientGetOptions{Expand: to.Ptr("details")})
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JobResource = armdatabox.JobResource{
// 	Identity: &armdatabox.ResourceIdentity{
// 		Type: to.Ptr("None"),
// 	},
// 	Location: to.Ptr("westus"),
// 	SKU: &armdatabox.SKU{
// 		Name: to.Ptr(armdatabox.SKUNameDataBox),
// 	},
// 	Tags: map[string]*string{
// 		"defaultTagsKey": to.Ptr("defaultTagsValue"),
// 	},
// 	Name: to.Ptr("TestJobName1"),
// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
// 	ID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName1"),
// 	Properties: &armdatabox.JobProperties{
// 		DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
// 		IsCancellable: to.Ptr(false),
// 		IsCancellableWithoutFee: to.Ptr(false),
// 		IsDeletable: to.Ptr(true),
// 		IsPrepareToShipEnabled: to.Ptr(true),
// 		IsShippingAddressEditable: to.Ptr(false),
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-05T07:26:12.638Z"); return t}()),
// 		Status: to.Ptr(armdatabox.StageNameCompletedWithWarnings),
// 		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
// 		Details: &armdatabox.JobDetails{
// 			Actions: []*armdatabox.CustomerResolutionCode{
// 			},
// 			ContactDetails: &armdatabox.ContactDetails{
// 				ContactName: to.Ptr("XXXX XXXX"),
// 				EmailList: []*string{
// 					to.Ptr("xxxx@xxxx.xxx")},
// 					NotificationPreference: []*armdatabox.NotificationPreference{
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDevicePrepared),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDispatched),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDelivered),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNamePickedUp),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameAtAzureDC),
// 						},
// 						{
// 							SendNotification: to.Ptr(true),
// 							StageName: to.Ptr(armdatabox.NotificationStageNameDataCopy),
// 					}},
// 					Phone: to.Ptr("0000000000"),
// 					PhoneExtension: to.Ptr(""),
// 				},
// 				CopyLogDetails: []armdatabox.CopyLogDetailsClassification{
// 					&armdatabox.AccountCopyLogDetails{
// 						CopyLogDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
// 						AccountName: to.Ptr("YourStorageAccountName"),
// 						CopyLogLink: to.Ptr("databoxcopylog/xxx.xml"),
// 				}},
// 				DataImportDetails: []*armdatabox.DataImportDetails{
// 					{
// 						AccountDetails: &armdatabox.StorageAccountDetails{
// 							DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
// 							StorageAccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourcegroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
// 						},
// 				}},
// 				DeliveryPackage: &armdatabox.PackageShippingDetails{
// 					CarrierName: to.Ptr("Ups"),
// 					TrackingID: to.Ptr("5fb6965e-0b80-4f38-b21a-32673fed2d84"),
// 					TrackingURL: to.Ptr("https://xxx.xxx.xx"),
// 				},
// 				ExpectedDataSizeInTeraBytes: to.Ptr[int32](0),
// 				JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
// 				JobStages: []*armdatabox.JobStages{
// 					{
// 						DisplayName: to.Ptr("Ordered"),
// 						StageName: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 						StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-05T07:26:25.391Z"); return t}()),
// 					},
// 					{
// 						DisplayName: to.Ptr("Processed"),
// 						StageName: to.Ptr(armdatabox.StageNameDevicePrepared),
// 						StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 						StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-05T07:37:49.676Z"); return t}()),
// 					},
// 					{
// 						DisplayName: to.Ptr("Dispatched"),
// 						StageName: to.Ptr(armdatabox.StageNameDispatched),
// 						StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 						StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-04T20:51:06.000Z"); return t}()),
// 					},
// 					{
// 						DisplayName: to.Ptr("Delivered"),
// 						StageName: to.Ptr(armdatabox.StageNameDelivered),
// 						StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 						StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-04T20:51:13.000Z"); return t}()),
// 					},
// 					{
// 						DisplayName: to.Ptr("Picked up"),
// 						StageName: to.Ptr(armdatabox.StageNamePickedUp),
// 						StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 						StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-04T20:53:10.000Z"); return t}()),
// 					},
// 					{
// 						DisplayName: to.Ptr("Received"),
// 						StageName: to.Ptr(armdatabox.StageNameAtAzureDC),
// 						StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 						StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-04T20:53:17.000Z"); return t}()),
// 					},
// 					{
// 						DisplayName: to.Ptr("Data copy in progress"),
// 						StageName: to.Ptr(armdatabox.StageNameDataCopy),
// 						StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 						StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-05T08:04:20.149Z"); return t}()),
// 					},
// 					{
// 						StageName: to.Ptr(armdatabox.StageNameCompletedWithWarnings),
// 						StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 						StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-05T08:38:38.250Z"); return t}()),
// 				}},
// 				KeyEncryptionKey: &armdatabox.KeyEncryptionKey{
// 					KekType: to.Ptr(armdatabox.KekTypeMicrosoftManaged),
// 				},
// 				LastMitigationActionOnJob: &armdatabox.LastMitigationActionOnJob{
// 					ActionDateTimeInUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-05T08:28:18.810Z"); return t}()),
// 					CustomerResolution: to.Ptr(armdatabox.CustomerResolutionCodeMoveToCleanUpDevice),
// 					IsPerformedByCustomer: to.Ptr(true),
// 				},
// 				Preferences: &armdatabox.Preferences{
// 				},
// 				ReturnPackage: &armdatabox.PackageShippingDetails{
// 					CarrierName: to.Ptr("Ups"),
// 					TrackingID: to.Ptr("b3875a34-aad6-4dbe-83a9-3f39cb21b0e8"),
// 					TrackingURL: to.Ptr("https://xxx.xxx.xx"),
// 				},
// 				ReverseShipmentLabelSasKey: to.Ptr("http://xxx.xxx.xxx"),
// 				ShippingAddress: &armdatabox.ShippingAddress{
// 					AddressType: to.Ptr(armdatabox.AddressTypeNone),
// 					City: to.Ptr("XXXX XXXX"),
// 					CompanyName: to.Ptr("XXXX XXXX"),
// 					Country: to.Ptr("XX"),
// 					PostalCode: to.Ptr("00000"),
// 					StateOrProvince: to.Ptr("XX"),
// 					StreetAddress1: to.Ptr("164 TOWNSEND ST"),
// 					StreetAddress2: to.Ptr("XXXX XXXX"),
// 				},
// 				CopyProgress: []*armdatabox.CopyProgress{
// 					{
// 						AccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourcegroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
// 						BytesProcessed: to.Ptr[int64](2000),
// 						DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
// 						DirectoriesErroredOut: to.Ptr[int64](0),
// 						FilesErroredOut: to.Ptr[int64](0),
// 						FilesProcessed: to.Ptr[int64](100),
// 						InvalidDirectoriesProcessed: to.Ptr[int64](0),
// 						InvalidFileBytesUploaded: to.Ptr[int64](10),
// 						InvalidFilesProcessed: to.Ptr[int64](10),
// 						IsEnumerationInProgress: to.Ptr(false),
// 						RenamedContainerCount: to.Ptr[int64](60),
// 						StorageAccountName: to.Ptr("YourStorageAccountName"),
// 						TotalBytesToProcess: to.Ptr[int64](2000),
// 						TotalFilesToProcess: to.Ptr[int64](110),
// 						TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
// 				}},
// 			},
// 		},
// 	}
Output:

Example (JobsGetExport)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsGetExport.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewJobsClient().Get(ctx, "YourResourceGroupName", "TestJobName1", &armdatabox.JobsClientGetOptions{Expand: to.Ptr("details")})
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JobResource = armdatabox.JobResource{
// 	Identity: &armdatabox.ResourceIdentity{
// 		Type: to.Ptr("None"),
// 	},
// 	Location: to.Ptr("westus"),
// 	SKU: &armdatabox.SKU{
// 		Name: to.Ptr(armdatabox.SKUNameDataBox),
// 	},
// 	Tags: map[string]*string{
// 	},
// 	Name: to.Ptr("TestJobName1"),
// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
// 	ID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName1"),
// 	Properties: &armdatabox.JobProperties{
// 		CancellationReason: to.Ptr("CancelTest"),
// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "1-01-01T00:00:00.000Z"); return t}()),
// 		},
// 		DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
// 		IsCancellable: to.Ptr(false),
// 		IsCancellableWithoutFee: to.Ptr(false),
// 		IsDeletable: to.Ptr(true),
// 		IsPrepareToShipEnabled: to.Ptr(true),
// 		IsShippingAddressEditable: to.Ptr(false),
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-08-07T05:19:08.719Z"); return t}()),
// 		Status: to.Ptr(armdatabox.StageNameCancelled),
// 		TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
// 		Details: &armdatabox.JobDetails{
// 			ChainOfCustodySasKey: to.Ptr("https://xxx.xxx.xx"),
// 			ContactDetails: &armdatabox.ContactDetails{
// 				ContactName: to.Ptr(" "),
// 				EmailList: []*string{
// 				},
// 				NotificationPreference: []*armdatabox.NotificationPreference{
// 				},
// 				Phone: to.Ptr("0000000000"),
// 				PhoneExtension: to.Ptr(""),
// 			},
// 			CopyLogDetails: []armdatabox.CopyLogDetailsClassification{
// 			},
// 			DataExportDetails: []*armdatabox.DataExportDetails{
// 				{
// 					AccountDetails: &armdatabox.StorageAccountDetails{
// 						DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
// 						StorageAccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
// 					},
// 					LogCollectionLevel: to.Ptr(armdatabox.LogCollectionLevelError),
// 					TransferConfiguration: &armdatabox.TransferConfiguration{
// 						TransferAllDetails: &armdatabox.TransferConfigurationTransferAllDetails{
// 							Include: &armdatabox.TransferAllDetails{
// 								DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
// 								TransferAllBlobs: to.Ptr(true),
// 								TransferAllFiles: to.Ptr(true),
// 							},
// 						},
// 						TransferConfigurationType: to.Ptr(armdatabox.TransferConfigurationTypeTransferAll),
// 						TransferFilterDetails: &armdatabox.TransferConfigurationTransferFilterDetails{
// 						},
// 					},
// 			}},
// 			DataImportDetails: []*armdatabox.DataImportDetails{
// 			},
// 			DeliveryPackage: &armdatabox.PackageShippingDetails{
// 				CarrierName: to.Ptr(""),
// 				TrackingID: to.Ptr(""),
// 				TrackingURL: to.Ptr(""),
// 			},
// 			JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
// 			JobStages: []*armdatabox.JobStages{
// 				{
// 					DisplayName: to.Ptr("Ordered"),
// 					StageName: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 					StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 					StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-08-07T05:19:12.767Z"); return t}()),
// 				},
// 				{
// 					DisplayName: to.Ptr("Canceled"),
// 					StageName: to.Ptr(armdatabox.StageNameCancelled),
// 					StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 					StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-08-07T05:19:57.257Z"); return t}()),
// 			}},
// 			KeyEncryptionKey: &armdatabox.KeyEncryptionKey{
// 				KekType: to.Ptr(armdatabox.KekTypeMicrosoftManaged),
// 			},
// 			ReturnPackage: &armdatabox.PackageShippingDetails{
// 				CarrierName: to.Ptr(""),
// 				TrackingID: to.Ptr(""),
// 				TrackingURL: to.Ptr(""),
// 			},
// 			ReverseShipmentLabelSasKey: to.Ptr("https://xxx.xxx.xx"),
// 			ShippingAddress: &armdatabox.ShippingAddress{
// 				AddressType: to.Ptr(armdatabox.AddressTypeCommercial),
// 				City: to.Ptr("XXXX XXXX"),
// 				CompanyName: to.Ptr("XXXX XXXX"),
// 				Country: to.Ptr("XX"),
// 				PostalCode: to.Ptr("00000"),
// 				StateOrProvince: to.Ptr("XX"),
// 				StreetAddress1: to.Ptr("XXXX XXXX"),
// 				StreetAddress2: to.Ptr("XXXX XXXX"),
// 			},
// 			CopyProgress: []*armdatabox.CopyProgress{
// 				{
// 					AccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
// 					BytesProcessed: to.Ptr[int64](0),
// 					DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
// 					IsEnumerationInProgress: to.Ptr(false),
// 					StorageAccountName: to.Ptr("YourStorageAccountName"),
// 					TotalBytesToProcess: to.Ptr[int64](0),
// 					TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
// 			}},
// 		},
// 	},
// }
Output:

Example (JobsGetWaitingForAction)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsGetWaitingForAction.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewJobsClient().Get(ctx, "YourResourceGroupName", "TestJobName1", &armdatabox.JobsClientGetOptions{Expand: to.Ptr("details")})
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.JobResource = armdatabox.JobResource{
// 	Identity: &armdatabox.ResourceIdentity{
// 		Type: to.Ptr("None"),
// 	},
// 	Location: to.Ptr("westus"),
// 	SKU: &armdatabox.SKU{
// 		Name: to.Ptr(armdatabox.SKUNameDataBox),
// 	},
// 	Tags: map[string]*string{
// 		"defaultTagsKey": to.Ptr("defaultTagsValue"),
// 	},
// 	Name: to.Ptr("TestJobName1"),
// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
// 	ID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName1"),
// 	Properties: &armdatabox.JobProperties{
// 		DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
// 		Error: &armdatabox.CloudError{
// 			AdditionalInfo: []*armdatabox.AdditionalErrorInfo{
// 			},
// 			Code: to.Ptr("SsemUserCopyErrorWaitingForAction"),
// 			Message: to.Ptr("Job has an error in copy stage and is waiting for customer action.  Please review the error and select one of the actions provided in the job's properties.details.actions"),
// 			Target: to.Ptr("CopyIntervention"),
// 			Details: []*armdatabox.CloudError{
// 			},
// 		},
// 		IsCancellable: to.Ptr(false),
// 		IsCancellableWithoutFee: to.Ptr(false),
// 		IsDeletable: to.Ptr(false),
// 		IsPrepareToShipEnabled: to.Ptr(true),
// 		IsShippingAddressEditable: to.Ptr(false),
// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-14T23:49:49.517Z"); return t}()),
// 		Status: to.Ptr(armdatabox.StageNameDataCopy),
// 		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
// 		Details: &armdatabox.JobDetails{
// 			Actions: []*armdatabox.CustomerResolutionCode{
// 				to.Ptr(armdatabox.CustomerResolutionCodeMoveToCleanUpDevice)},
// 				ContactDetails: &armdatabox.ContactDetails{
// 					ContactName: to.Ptr("XXXX XXXX"),
// 					EmailList: []*string{
// 						to.Ptr("xxxx@xxxx.xxx")},
// 						NotificationPreference: []*armdatabox.NotificationPreference{
// 							{
// 								SendNotification: to.Ptr(true),
// 								StageName: to.Ptr(armdatabox.NotificationStageNameDevicePrepared),
// 							},
// 							{
// 								SendNotification: to.Ptr(true),
// 								StageName: to.Ptr(armdatabox.NotificationStageNameDispatched),
// 							},
// 							{
// 								SendNotification: to.Ptr(true),
// 								StageName: to.Ptr(armdatabox.NotificationStageNameDelivered),
// 							},
// 							{
// 								SendNotification: to.Ptr(true),
// 								StageName: to.Ptr(armdatabox.NotificationStageNamePickedUp),
// 							},
// 							{
// 								SendNotification: to.Ptr(true),
// 								StageName: to.Ptr(armdatabox.NotificationStageNameAtAzureDC),
// 							},
// 							{
// 								SendNotification: to.Ptr(true),
// 								StageName: to.Ptr(armdatabox.NotificationStageNameDataCopy),
// 						}},
// 						Phone: to.Ptr("0000000000"),
// 						PhoneExtension: to.Ptr(""),
// 					},
// 					CopyLogDetails: []armdatabox.CopyLogDetailsClassification{
// 						&armdatabox.AccountCopyLogDetails{
// 							CopyLogDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
// 							AccountName: to.Ptr("YourStorageAccountName"),
// 							CopyLogLink: to.Ptr("databoxcopylog/xxx.xml"),
// 						},
// 						&armdatabox.AccountCopyLogDetails{
// 							CopyLogDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
// 							AccountName: to.Ptr("YourResourceGroupName"),
// 							CopyLogLink: to.Ptr("databoxcopylog/xxx.xml"),
// 					}},
// 					DataImportDetails: []*armdatabox.DataImportDetails{
// 						{
// 							AccountDetails: &armdatabox.StorageAccountDetails{
// 								DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
// 								StorageAccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourcegroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
// 							},
// 						},
// 						{
// 							AccountDetails: &armdatabox.ManagedDiskDetails{
// 								DataAccountType: to.Ptr(armdatabox.DataAccountTypeManagedDisk),
// 								ResourceGroupID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName"),
// 								StagingStorageAccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
// 							},
// 					}},
// 					DeliveryPackage: &armdatabox.PackageShippingDetails{
// 						CarrierName: to.Ptr("Ups"),
// 						TrackingID: to.Ptr("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"),
// 						TrackingURL: to.Ptr("https://xxx.xxx.xx"),
// 					},
// 					ExpectedDataSizeInTeraBytes: to.Ptr[int32](0),
// 					JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
// 					JobStages: []*armdatabox.JobStages{
// 						{
// 							DisplayName: to.Ptr("Ordered"),
// 							StageName: to.Ptr(armdatabox.StageNameDeviceOrdered),
// 							StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 							StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-14T23:49:53.815Z"); return t}()),
// 						},
// 						{
// 							DisplayName: to.Ptr("Processed"),
// 							StageName: to.Ptr(armdatabox.StageNameDevicePrepared),
// 							StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 							StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-15T00:05:18.735Z"); return t}()),
// 						},
// 						{
// 							DisplayName: to.Ptr("Dispatched"),
// 							StageName: to.Ptr(armdatabox.StageNameDispatched),
// 							StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 							StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-15T00:25:19.000Z"); return t}()),
// 						},
// 						{
// 							DisplayName: to.Ptr("Delivered"),
// 							StageName: to.Ptr(armdatabox.StageNameDelivered),
// 							StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 							StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-15T00:25:26.000Z"); return t}()),
// 						},
// 						{
// 							DisplayName: to.Ptr("Picked up"),
// 							StageName: to.Ptr(armdatabox.StageNamePickedUp),
// 							StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 							StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-15T00:30:22.000Z"); return t}()),
// 						},
// 						{
// 							DisplayName: to.Ptr("Received"),
// 							StageName: to.Ptr(armdatabox.StageNameAtAzureDC),
// 							StageStatus: to.Ptr(armdatabox.StageStatusSucceeded),
// 							StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-15T00:30:29.000Z"); return t}()),
// 						},
// 						{
// 							DisplayName: to.Ptr("Data copy in progress"),
// 							StageName: to.Ptr(armdatabox.StageNameDataCopy),
// 							StageStatus: to.Ptr(armdatabox.StageStatusWaitingForCustomerAction),
// 							StageTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-15T00:45:26.267Z"); return t}()),
// 						},
// 						{
// 							DisplayName: to.Ptr("Completed"),
// 							StageName: to.Ptr(armdatabox.StageNameCompleted),
// 							StageStatus: to.Ptr(armdatabox.StageStatusNone),
// 					}},
// 					KeyEncryptionKey: &armdatabox.KeyEncryptionKey{
// 						KekType: to.Ptr(armdatabox.KekTypeMicrosoftManaged),
// 					},
// 					LastMitigationActionOnJob: &armdatabox.LastMitigationActionOnJob{
// 						ActionDateTimeInUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-05-12T05:00:22.504Z"); return t}()),
// 						CustomerResolution: to.Ptr(armdatabox.CustomerResolutionCodeMoveToCleanUpDevice),
// 						IsPerformedByCustomer: to.Ptr(true),
// 					},
// 					Preferences: &armdatabox.Preferences{
// 						EncryptionPreferences: &armdatabox.EncryptionPreferences{
// 							DoubleEncryption: to.Ptr(armdatabox.DoubleEncryptionDisabled),
// 						},
// 					},
// 					ReturnPackage: &armdatabox.PackageShippingDetails{
// 						CarrierName: to.Ptr("Ups"),
// 						TrackingID: to.Ptr("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"),
// 						TrackingURL: to.Ptr("https://xxx.xxx.xx"),
// 					},
// 					ReverseShipmentLabelSasKey: to.Ptr("https://xxx.xxx.xx"),
// 					ShippingAddress: &armdatabox.ShippingAddress{
// 						AddressType: to.Ptr(armdatabox.AddressTypeNone),
// 						City: to.Ptr("XXXX XXXX"),
// 						CompanyName: to.Ptr("XXXX XXXX"),
// 						Country: to.Ptr("XX"),
// 						PostalCode: to.Ptr("00000"),
// 						StateOrProvince: to.Ptr("XX"),
// 						StreetAddress1: to.Ptr("164 TOWNSEND ST"),
// 						StreetAddress2: to.Ptr("XXXX XXXX"),
// 					},
// 					CopyProgress: []*armdatabox.CopyProgress{
// 						{
// 							AccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourcegroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
// 							BytesProcessed: to.Ptr[int64](2000),
// 							DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
// 							DirectoriesErroredOut: to.Ptr[int64](0),
// 							FilesErroredOut: to.Ptr[int64](0),
// 							FilesProcessed: to.Ptr[int64](100),
// 							InvalidDirectoriesProcessed: to.Ptr[int64](0),
// 							InvalidFileBytesUploaded: to.Ptr[int64](10),
// 							InvalidFilesProcessed: to.Ptr[int64](10),
// 							IsEnumerationInProgress: to.Ptr(false),
// 							RenamedContainerCount: to.Ptr[int64](60),
// 							StorageAccountName: to.Ptr("YourStorageAccountName"),
// 							TotalBytesToProcess: to.Ptr[int64](2000),
// 							TotalFilesToProcess: to.Ptr[int64](110),
// 							TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
// 						},
// 						{
// 							AccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName"),
// 							BytesProcessed: to.Ptr[int64](2000),
// 							DataAccountType: to.Ptr(armdatabox.DataAccountTypeManagedDisk),
// 							DirectoriesErroredOut: to.Ptr[int64](0),
// 							FilesErroredOut: to.Ptr[int64](0),
// 							FilesProcessed: to.Ptr[int64](100),
// 							InvalidDirectoriesProcessed: to.Ptr[int64](0),
// 							InvalidFileBytesUploaded: to.Ptr[int64](10),
// 							InvalidFilesProcessed: to.Ptr[int64](10),
// 							IsEnumerationInProgress: to.Ptr(false),
// 							RenamedContainerCount: to.Ptr[int64](60),
// 							TotalBytesToProcess: to.Ptr[int64](2000),
// 							TotalFilesToProcess: to.Ptr[int64](110),
// 							TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
// 					}},
// 				},
// 			},
// 		}
Output:

func (*JobsClient) MarkDevicesShipped

func (client *JobsClient) MarkDevicesShipped(ctx context.Context, jobName string, resourceGroupName string, markDevicesShippedRequest MarkDevicesShippedRequest, options *JobsClientMarkDevicesShippedOptions) (JobsClientMarkDevicesShippedResponse, error)

MarkDevicesShipped - Request to mark devices for a given job as shipped If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2022-12-01

  • jobName - The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only
  • resourceGroupName - The Resource Group Name
  • markDevicesShippedRequest - Mark Devices Shipped Request
  • options - JobsClientMarkDevicesShippedOptions contains the optional parameters for the JobsClient.MarkDevicesShipped method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/MarkDevicesShipped.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewJobsClient().MarkDevicesShipped(ctx, "TestJobName1", "YourResourceGroupName", armdatabox.MarkDevicesShippedRequest{
	DeliverToDcPackageDetails: &armdatabox.PackageCarrierInfo{
		CarrierName: to.Ptr("testCarrier"),
		TrackingID:  to.Ptr("000000"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

func (*JobsClient) NewListByResourceGroupPager

func (client *JobsClient) NewListByResourceGroupPager(resourceGroupName string, options *JobsClientListByResourceGroupOptions) *runtime.Pager[JobsClientListByResourceGroupResponse]

NewListByResourceGroupPager - Lists all the jobs available under the given resource group.

Generated from API version 2022-12-01

  • resourceGroupName - The Resource Group Name
  • options - JobsClientListByResourceGroupOptions contains the optional parameters for the JobsClient.NewListByResourceGroupPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsListByResourceGroup.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewJobsClient().NewListByResourceGroupPager("YourResourceGroupName", &armdatabox.JobsClientListByResourceGroupOptions{SkipToken: nil})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.JobResourceList = armdatabox.JobResourceList{
	// 	Value: []*armdatabox.JobResource{
	// 		{
	// 			Identity: &armdatabox.ResourceIdentity{
	// 				Type: to.Ptr("SystemAssigned"),
	// 				PrincipalID: to.Ptr("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"),
	// 				TenantID: to.Ptr("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"),
	// 			},
	// 			Location: to.Ptr("westus"),
	// 			SKU: &armdatabox.SKU{
	// 				Name: to.Ptr(armdatabox.SKUNameDataBox),
	// 			},
	// 			Tags: map[string]*string{
	// 			},
	// 			Name: to.Ptr("TestJobName1"),
	// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 			ID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName1"),
	// 			Properties: &armdatabox.JobProperties{
	// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
	// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "1-01-01T00:00:00.000Z"); return t}()),
	// 				},
	// 				DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
	// 				IsCancellable: to.Ptr(true),
	// 				IsCancellableWithoutFee: to.Ptr(true),
	// 				IsDeletable: to.Ptr(false),
	// 				IsPrepareToShipEnabled: to.Ptr(true),
	// 				IsShippingAddressEditable: to.Ptr(true),
	// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-07-03T06:25:54.463Z"); return t}()),
	// 				Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
	// 				TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
	// 			},
	// 		},
	// 		{
	// 			Identity: &armdatabox.ResourceIdentity{
	// 				Type: to.Ptr("None"),
	// 			},
	// 			Location: to.Ptr("westus"),
	// 			SKU: &armdatabox.SKU{
	// 				Name: to.Ptr(armdatabox.SKUNameDataBox),
	// 			},
	// 			Tags: map[string]*string{
	// 			},
	// 			Name: to.Ptr("TestJobName2"),
	// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 			ID: to.Ptr("/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName2"),
	// 			Properties: &armdatabox.JobProperties{
	// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
	// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "1-01-01T00:00:00.000Z"); return t}()),
	// 				},
	// 				DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
	// 				IsCancellable: to.Ptr(true),
	// 				IsCancellableWithoutFee: to.Ptr(true),
	// 				IsDeletable: to.Ptr(false),
	// 				IsPrepareToShipEnabled: to.Ptr(true),
	// 				IsShippingAddressEditable: to.Ptr(true),
	// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-08-07T05:20:36.334Z"); return t}()),
	// 				Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
	// 				TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
	// 			},
	// 	}},
	// }
}
Output:

func (*JobsClient) NewListCredentialsPager

func (client *JobsClient) NewListCredentialsPager(resourceGroupName string, jobName string, options *JobsClientListCredentialsOptions) *runtime.Pager[JobsClientListCredentialsResponse]

NewListCredentialsPager - This method gets the unencrypted secrets related to the job.

Generated from API version 2022-12-01

  • resourceGroupName - The Resource Group Name
  • jobName - The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only
  • options - JobsClientListCredentialsOptions contains the optional parameters for the JobsClient.NewListCredentialsPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsListCredentials.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewJobsClient().NewListCredentialsPager("YourResourceGroupName", "TestJobName1", nil)
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.UnencryptedCredentialsList = armdatabox.UnencryptedCredentialsList{
	// 	Value: []*armdatabox.UnencryptedCredentials{
	// 		{
	// 			JobName: to.Ptr("TestJobName1"),
	// 			JobSecrets: &armdatabox.JobSecrets{
	// 				DcAccessSecurityCode: &armdatabox.DcAccessSecurityCode{
	// 				},
	// 				JobSecretsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
	// 				PodSecrets: []*armdatabox.Secret{
	// 					{
	// 						AccountCredentialDetails: []*armdatabox.AccountCredentialDetails{
	// 							{
	// 								AccountConnectionString: to.Ptr(""),
	// 								AccountName: to.Ptr("YourStorageAccountName"),
	// 								DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
	// 								ShareCredentialDetails: []*armdatabox.ShareCredentialDetails{
	// 									{
	// 										Password: to.Ptr("<password>"),
	// 										ShareName: to.Ptr("testsharename_PageBlob"),
	// 										ShareType: to.Ptr(armdatabox.ShareDestinationFormatTypePageBlob),
	// 										SupportedAccessProtocols: []*armdatabox.AccessProtocol{
	// 											to.Ptr(armdatabox.AccessProtocolSMB)},
	// 											UserName: to.Ptr("testusername"),
	// 										},
	// 										{
	// 											Password: to.Ptr("<password>"),
	// 											ShareName: to.Ptr("testsharename_BlockBlob"),
	// 											ShareType: to.Ptr(armdatabox.ShareDestinationFormatTypeBlockBlob),
	// 											SupportedAccessProtocols: []*armdatabox.AccessProtocol{
	// 												to.Ptr(armdatabox.AccessProtocolSMB)},
	// 												UserName: to.Ptr("testusername"),
	// 											},
	// 											{
	// 												Password: to.Ptr("<password>"),
	// 												ShareName: to.Ptr("testsharename_AzFile"),
	// 												ShareType: to.Ptr(armdatabox.ShareDestinationFormatTypeAzureFile),
	// 												SupportedAccessProtocols: []*armdatabox.AccessProtocol{
	// 													to.Ptr(armdatabox.AccessProtocolSMB)},
	// 													UserName: to.Ptr("testusername"),
	// 											}},
	// 									}},
	// 									DevicePassword: to.Ptr("<devicePassword>"),
	// 									DeviceSerialNumber: to.Ptr("testserialnumber"),
	// 									EncodedValidationCertPubKey: to.Ptr("xxxxxxxxxx"),
	// 									NetworkConfigurations: []*armdatabox.ApplianceNetworkConfiguration{
	// 										{
	// 											Name: to.Ptr("DataPort3"),
	// 											MacAddress: to.Ptr("XXXXXXXXXXXX"),
	// 										},
	// 										{
	// 											Name: to.Ptr("DataPort1"),
	// 											MacAddress: to.Ptr("XXXXXXXXXXXX"),
	// 										},
	// 										{
	// 											Name: to.Ptr("DataPort2"),
	// 											MacAddress: to.Ptr("XXXXXXXXXXXX"),
	// 									}},
	// 							}},
	// 						},
	// 				}},
	// 			}
}
Output:

func (*JobsClient) NewListPager

func (client *JobsClient) NewListPager(options *JobsClientListOptions) *runtime.Pager[JobsClientListResponse]

NewListPager - Lists all the jobs available under the subscription.

Generated from API version 2022-12-01

  • options - JobsClientListOptions contains the optional parameters for the JobsClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobsList.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewJobsClient().NewListPager(&armdatabox.JobsClientListOptions{SkipToken: nil})
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.JobResourceList = armdatabox.JobResourceList{
	// 	Value: []*armdatabox.JobResource{
	// 		{
	// 			Identity: &armdatabox.ResourceIdentity{
	// 				Type: to.Ptr("None"),
	// 			},
	// 			Location: to.Ptr("australiaeast"),
	// 			SKU: &armdatabox.SKU{
	// 				Name: to.Ptr(armdatabox.SKUNameDataBoxDisk),
	// 			},
	// 			Tags: map[string]*string{
	// 			},
	// 			Name: to.Ptr("TestJobName1"),
	// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 			ID: to.Ptr("/subscriptions/YourSubscriptionId/resourcegroups/TestResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName1"),
	// 			Properties: &armdatabox.JobProperties{
	// 				CancellationReason: to.Ptr("Old job which is still in ordered state cancelled by the service"),
	// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
	// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "1-01-01T00:00:00.000Z"); return t}()),
	// 				},
	// 				DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
	// 				IsCancellable: to.Ptr(false),
	// 				IsCancellableWithoutFee: to.Ptr(false),
	// 				IsDeletable: to.Ptr(true),
	// 				IsPrepareToShipEnabled: to.Ptr(false),
	// 				IsShippingAddressEditable: to.Ptr(false),
	// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-08-30T09:14:39.774Z"); return t}()),
	// 				Status: to.Ptr(armdatabox.StageNameCancelled),
	// 				TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
	// 			},
	// 		},
	// 		{
	// 			Identity: &armdatabox.ResourceIdentity{
	// 				Type: to.Ptr("None"),
	// 			},
	// 			Location: to.Ptr("australiaeast"),
	// 			SKU: &armdatabox.SKU{
	// 				Name: to.Ptr(armdatabox.SKUNameDataBoxDisk),
	// 			},
	// 			Tags: map[string]*string{
	// 			},
	// 			Name: to.Ptr("TestJobName2"),
	// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 			ID: to.Ptr("/subscriptions/YourSubscriptionId/resourcegroups/TestResourceGroupName/providers/Microsoft.DataBox/jobs/TestJobName2"),
	// 			Properties: &armdatabox.JobProperties{
	// 				CancellationReason: to.Ptr("Old job which is still in ordered state cancelled by the service"),
	// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
	// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "1-01-01T00:00:00.000Z"); return t}()),
	// 				},
	// 				DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
	// 				IsCancellable: to.Ptr(false),
	// 				IsCancellableWithoutFee: to.Ptr(false),
	// 				IsDeletable: to.Ptr(true),
	// 				IsPrepareToShipEnabled: to.Ptr(false),
	// 				IsShippingAddressEditable: to.Ptr(false),
	// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-09-10T12:33:22.257Z"); return t}()),
	// 				Status: to.Ptr(armdatabox.StageNameCancelled),
	// 				TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
	// 			},
	// 	}},
	// }
}
Output:

type JobsClientBeginCreateOptions

type JobsClientBeginCreateOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

JobsClientBeginCreateOptions contains the optional parameters for the JobsClient.BeginCreate method.

type JobsClientBeginDeleteOptions

type JobsClientBeginDeleteOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

JobsClientBeginDeleteOptions contains the optional parameters for the JobsClient.BeginDelete method.

type JobsClientBeginUpdateOptions

type JobsClientBeginUpdateOptions struct {
	// Defines the If-Match condition. The patch will be performed only if the ETag of the job on the server matches this value.
	IfMatch *string

	// Resumes the LRO from the provided token.
	ResumeToken string
}

JobsClientBeginUpdateOptions contains the optional parameters for the JobsClient.BeginUpdate method.

type JobsClientBookShipmentPickUpOptions

type JobsClientBookShipmentPickUpOptions struct {
}

JobsClientBookShipmentPickUpOptions contains the optional parameters for the JobsClient.BookShipmentPickUp method.

type JobsClientBookShipmentPickUpResponse

type JobsClientBookShipmentPickUpResponse struct {
	// Shipment pick up response.
	ShipmentPickUpResponse
}

JobsClientBookShipmentPickUpResponse contains the response from method JobsClient.BookShipmentPickUp.

type JobsClientCancelOptions

type JobsClientCancelOptions struct {
}

JobsClientCancelOptions contains the optional parameters for the JobsClient.Cancel method.

type JobsClientCancelResponse

type JobsClientCancelResponse struct {
}

JobsClientCancelResponse contains the response from method JobsClient.Cancel.

type JobsClientCreateResponse

type JobsClientCreateResponse struct {
	// Job Resource.
	JobResource
}

JobsClientCreateResponse contains the response from method JobsClient.BeginCreate.

type JobsClientDeleteResponse

type JobsClientDeleteResponse struct {
}

JobsClientDeleteResponse contains the response from method JobsClient.BeginDelete.

type JobsClientGetOptions

type JobsClientGetOptions struct {
	// $expand is supported on details parameter for job, which provides details on the job stages.
	Expand *string
}

JobsClientGetOptions contains the optional parameters for the JobsClient.Get method.

type JobsClientGetResponse

type JobsClientGetResponse struct {
	// Job Resource.
	JobResource
}

JobsClientGetResponse contains the response from method JobsClient.Get.

type JobsClientListByResourceGroupOptions

type JobsClientListByResourceGroupOptions struct {
	// $skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.
	SkipToken *string
}

JobsClientListByResourceGroupOptions contains the optional parameters for the JobsClient.NewListByResourceGroupPager method.

type JobsClientListByResourceGroupResponse

type JobsClientListByResourceGroupResponse struct {
	// Job Resource Collection
	JobResourceList
}

JobsClientListByResourceGroupResponse contains the response from method JobsClient.NewListByResourceGroupPager.

type JobsClientListCredentialsOptions

type JobsClientListCredentialsOptions struct {
}

JobsClientListCredentialsOptions contains the optional parameters for the JobsClient.NewListCredentialsPager method.

type JobsClientListCredentialsResponse

type JobsClientListCredentialsResponse struct {
	// List of unencrypted credentials for accessing device.
	UnencryptedCredentialsList
}

JobsClientListCredentialsResponse contains the response from method JobsClient.NewListCredentialsPager.

type JobsClientListOptions

type JobsClientListOptions struct {
	// $skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.
	SkipToken *string
}

JobsClientListOptions contains the optional parameters for the JobsClient.NewListPager method.

type JobsClientListResponse

type JobsClientListResponse struct {
	// Job Resource Collection
	JobResourceList
}

JobsClientListResponse contains the response from method JobsClient.NewListPager.

type JobsClientMarkDevicesShippedOptions

type JobsClientMarkDevicesShippedOptions struct {
}

JobsClientMarkDevicesShippedOptions contains the optional parameters for the JobsClient.MarkDevicesShipped method.

type JobsClientMarkDevicesShippedResponse

type JobsClientMarkDevicesShippedResponse struct {
}

JobsClientMarkDevicesShippedResponse contains the response from method JobsClient.MarkDevicesShipped.

type JobsClientUpdateResponse

type JobsClientUpdateResponse struct {
	// Job Resource.
	JobResource
}

JobsClientUpdateResponse contains the response from method JobsClient.BeginUpdate.

type KekType

type KekType string

KekType - Type of encryption key used for key encryption.

const (
	// KekTypeCustomerManaged - Key encryption key is managed by the Customer.
	KekTypeCustomerManaged KekType = "CustomerManaged"
	// KekTypeMicrosoftManaged - Key encryption key is managed by Microsoft.
	KekTypeMicrosoftManaged KekType = "MicrosoftManaged"
)

func PossibleKekTypeValues

func PossibleKekTypeValues() []KekType

PossibleKekTypeValues returns the possible values for the KekType const type.

type KeyEncryptionKey

type KeyEncryptionKey struct {
	// REQUIRED; Type of encryption key used for key encryption.
	KekType *KekType

	// Managed identity properties used for key encryption.
	IdentityProperties *IdentityProperties

	// Key encryption key. It is required in case of Customer managed KekType.
	KekURL *string

	// Kek vault resource id. It is required in case of Customer managed KekType.
	KekVaultResourceID *string
}

KeyEncryptionKey - Encryption key containing details about key to encrypt different keys.

func (KeyEncryptionKey) MarshalJSON

func (k KeyEncryptionKey) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type KeyEncryptionKey.

func (*KeyEncryptionKey) UnmarshalJSON

func (k *KeyEncryptionKey) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type KeyEncryptionKey.

type LastMitigationActionOnJob

type LastMitigationActionOnJob struct {
	// Action performed date time
	ActionDateTimeInUTC *time.Time

	// Resolution code provided by customer
	CustomerResolution *CustomerResolutionCode

	// Action performed by customer, possibility is that mitigation might happen by customer or service or by ops
	IsPerformedByCustomer *bool
}

LastMitigationActionOnJob - Last Mitigation Action Performed On Job

func (LastMitigationActionOnJob) MarshalJSON

func (l LastMitigationActionOnJob) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type LastMitigationActionOnJob.

func (*LastMitigationActionOnJob) UnmarshalJSON

func (l *LastMitigationActionOnJob) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type LastMitigationActionOnJob.

type LogCollectionLevel

type LogCollectionLevel string

LogCollectionLevel - Level of the logs to be collected.

const (
	// LogCollectionLevelError - Only Errors will be collected in the logs.
	LogCollectionLevelError LogCollectionLevel = "Error"
	// LogCollectionLevelVerbose - Verbose logging (includes Errors, CRC, size information and others).
	LogCollectionLevelVerbose LogCollectionLevel = "Verbose"
)

func PossibleLogCollectionLevelValues

func PossibleLogCollectionLevelValues() []LogCollectionLevel

PossibleLogCollectionLevelValues returns the possible values for the LogCollectionLevel const type.

type ManagedDiskDetails

type ManagedDiskDetails struct {
	// REQUIRED; Account Type of the data to be transferred.
	DataAccountType *DataAccountType

	// REQUIRED; Resource Group Id of the compute disks.
	ResourceGroupID *string

	// REQUIRED; Resource Id of the storage account that can be used to copy the vhd for staging.
	StagingStorageAccountID *string

	// Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If
	// this is not passed, the service will generate password itself. This will not be
	// returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must
	// have at least one uppercase alphabet, one number and one special character.
	// Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters
	// : @#-$%^!+=;:_()]+
	SharePassword *string
}

ManagedDiskDetails - Details of the managed disks.

func (*ManagedDiskDetails) GetDataAccountDetails

func (m *ManagedDiskDetails) GetDataAccountDetails() *DataAccountDetails

GetDataAccountDetails implements the DataAccountDetailsClassification interface for type ManagedDiskDetails.

func (ManagedDiskDetails) MarshalJSON

func (m ManagedDiskDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ManagedDiskDetails.

func (*ManagedDiskDetails) UnmarshalJSON

func (m *ManagedDiskDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ManagedDiskDetails.

type ManagementClient

type ManagementClient struct {
	// contains filtered or unexported fields
}

ManagementClient contains the methods for the DataBoxManagementClient group. Don't use this type directly, use NewManagementClient() instead.

func NewManagementClient

func NewManagementClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagementClient, error)

NewManagementClient creates a new instance of ManagementClient with the specified values.

  • subscriptionID - The Subscription Id
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ManagementClient) Mitigate

func (client *ManagementClient) Mitigate(ctx context.Context, jobName string, resourceGroupName string, mitigateJobRequest MitigateJobRequest, options *ManagementClientMitigateOptions) (ManagementClientMitigateResponse, error)

Mitigate - Request to mitigate for a given job If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2022-12-01

  • jobName - The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only
  • resourceGroupName - The Resource Group Name
  • mitigateJobRequest - Mitigation Request
  • options - ManagementClientMitigateOptions contains the optional parameters for the ManagementClient.Mitigate method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/JobMitigate.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
_, err = clientFactory.NewManagementClient().Mitigate(ctx, "TestJobName1", "YourResourceGroupName", armdatabox.MitigateJobRequest{
	SerialNumberCustomerResolutionMap: map[string]*armdatabox.CustomerResolutionCode{
		"testDISK-1": to.Ptr(armdatabox.CustomerResolutionCodeMoveToCleanUpDevice),
		"testDISK-2": to.Ptr(armdatabox.CustomerResolutionCodeResume),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
Output:

type ManagementClientMitigateOptions

type ManagementClientMitigateOptions struct {
}

ManagementClientMitigateOptions contains the optional parameters for the ManagementClient.Mitigate method.

type ManagementClientMitigateResponse

type ManagementClientMitigateResponse struct {
}

ManagementClientMitigateResponse contains the response from method ManagementClient.Mitigate.

type MarkDevicesShippedRequest

type MarkDevicesShippedRequest struct {
	// REQUIRED; Delivery package details
	DeliverToDcPackageDetails *PackageCarrierInfo
}

MarkDevicesShippedRequest - The request body to provide the delivery package details of job

func (MarkDevicesShippedRequest) MarshalJSON

func (m MarkDevicesShippedRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MarkDevicesShippedRequest.

func (*MarkDevicesShippedRequest) UnmarshalJSON

func (m *MarkDevicesShippedRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MarkDevicesShippedRequest.

type MitigateJobRequest

type MitigateJobRequest struct {
	// Resolution code for the job
	CustomerResolutionCode *CustomerResolutionCode

	// Serial number and the customer resolution code corresponding to each serial number
	SerialNumberCustomerResolutionMap map[string]*CustomerResolutionCode
}

MitigateJobRequest - The Mitigate Job captured from request body for Mitigate API

func (MitigateJobRequest) MarshalJSON

func (m MitigateJobRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MitigateJobRequest.

func (*MitigateJobRequest) UnmarshalJSON

func (m *MitigateJobRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MitigateJobRequest.

type NotificationPreference

type NotificationPreference struct {
	// REQUIRED; Notification is required or not.
	SendNotification *bool

	// REQUIRED; Name of the stage.
	StageName *NotificationStageName
}

NotificationPreference - Notification preference for a job stage.

func (NotificationPreference) MarshalJSON

func (n NotificationPreference) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type NotificationPreference.

func (*NotificationPreference) UnmarshalJSON

func (n *NotificationPreference) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type NotificationPreference.

type NotificationStageName

type NotificationStageName string

NotificationStageName - Name of the stage.

const (
	// NotificationStageNameAtAzureDC - Notification at device received at Azure datacenter stage.
	NotificationStageNameAtAzureDC NotificationStageName = "AtAzureDC"
	// NotificationStageNameCreated - Notification at job created stage.
	NotificationStageNameCreated NotificationStageName = "Created"
	// NotificationStageNameDataCopy - Notification at data copy started stage.
	NotificationStageNameDataCopy NotificationStageName = "DataCopy"
	// NotificationStageNameDelivered - Notification at device delivered stage.
	NotificationStageNameDelivered NotificationStageName = "Delivered"
	// NotificationStageNameDevicePrepared - Notification at device prepared stage.
	NotificationStageNameDevicePrepared NotificationStageName = "DevicePrepared"
	// NotificationStageNameDispatched - Notification at device dispatched stage.
	NotificationStageNameDispatched NotificationStageName = "Dispatched"
	// NotificationStageNamePickedUp - Notification at device picked up from user stage.
	NotificationStageNamePickedUp NotificationStageName = "PickedUp"
	// NotificationStageNameShippedToCustomer - Notification at shipped devices to customer stage.
	NotificationStageNameShippedToCustomer NotificationStageName = "ShippedToCustomer"
)

func PossibleNotificationStageNameValues

func PossibleNotificationStageNameValues() []NotificationStageName

PossibleNotificationStageNameValues returns the possible values for the NotificationStageName const type.

type Operation

type Operation struct {
	// Indicates whether the operation is a data action
	IsDataAction *bool

	// READ-ONLY; Operation display values.
	Display *OperationDisplay

	// READ-ONLY; Name of the operation. Format: {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}
	Name *string

	// READ-ONLY; Origin of the operation. Can be : user|system|user,system
	Origin *string

	// READ-ONLY; Operation properties.
	Properties any
}

Operation entity.

func (Operation) MarshalJSON

func (o Operation) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type Operation.

func (*Operation) UnmarshalJSON

func (o *Operation) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type Operation.

type OperationDisplay

type OperationDisplay struct {
	// Localized description of the operation for display purpose.
	Description *string

	// Localized name of the operation for display purpose.
	Operation *string

	// Provider name.
	Provider *string

	// Resource name.
	Resource *string
}

OperationDisplay - Operation display

func (OperationDisplay) MarshalJSON

func (o OperationDisplay) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationDisplay.

func (*OperationDisplay) UnmarshalJSON

func (o *OperationDisplay) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationDisplay.

type OperationList

type OperationList struct {
	// Link for the next set of operations.
	NextLink *string

	// READ-ONLY; List of operations.
	Value []*Operation
}

OperationList - Operation Collection.

func (OperationList) MarshalJSON

func (o OperationList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationList.

func (*OperationList) UnmarshalJSON

func (o *OperationList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationList.

type OperationsClient

type OperationsClient struct {
	// contains filtered or unexported fields
}

OperationsClient contains the methods for the Operations group. Don't use this type directly, use NewOperationsClient() instead.

func NewOperationsClient

func NewOperationsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*OperationsClient, error)

NewOperationsClient creates a new instance of OperationsClient with the specified values.

  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*OperationsClient) NewListPager

NewListPager - This method gets all the operations.

Generated from API version 2022-12-01

  • options - OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/OperationsGet.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewOperationsClient().NewListPager(nil)
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.OperationList = armdatabox.OperationList{
	// 	Value: []*armdatabox.Operation{
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/locations/operationResults/read"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("List or get the Operation Results"),
	// 				Operation: to.Ptr("List Operation Results"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Operation Results"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/jobs/cancel/action"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("Cancels an order in progress."),
	// 				Operation: to.Ptr("Cancel"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Orders"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/jobs/bookShipmentPickUp/action"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("Allows to book a pick up for return shipments."),
	// 				Operation: to.Ptr("Book Shipment Pick Up"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Orders"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/jobs/read"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("List or get the Orders"),
	// 				Operation: to.Ptr("List Orders"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Orders"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/jobs/delete"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("Delete the Orders"),
	// 				Operation: to.Ptr("Delete Orders"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Orders"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/jobs/write"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("Create or update the Orders"),
	// 				Operation: to.Ptr("Create or Update Orders"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Orders"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/jobs/listCredentials/action"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("Lists the unencrypted credentials related to the order."),
	// 				Operation: to.Ptr("List Credentials"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Orders"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/locations/validateInputs/action"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("This method does all type of validations."),
	// 				Operation: to.Ptr("Validate Inputs"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Validate Inputs"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/locations/validateAddress/action"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("Validates the shipping address and provides alternate addresses if any."),
	// 				Operation: to.Ptr("Validate Address"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Validate Address"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/subscriptions/resourceGroups/moveResources/action"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("This method performs the resource move."),
	// 				Operation: to.Ptr("Move Resource"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Move Resource"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/subscriptions/resourceGroups/validateMoveResources/action"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("This method validates whether resource move is allowed or not."),
	// 				Operation: to.Ptr("Validate Move Resource Request"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Move Resource"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/locations/availableSkus/action"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("This method returns the list of available skus."),
	// 				Operation: to.Ptr("Availabe Skus"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Available Skus"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/locations/regionConfiguration/action"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("This method returns the configurations for the region."),
	// 				Operation: to.Ptr("Region Configuration"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Region Configuration"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/locations/availableSkus/read"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("List or get the Available Skus"),
	// 				Operation: to.Ptr("List Available Skus"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Available Skus"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/register/action"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("Register Provider Microsoft.Databox"),
	// 				Operation: to.Ptr("Register Microsoft.Databox"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Register Microsoft.Databox"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/unregister/action"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("Un-Register Provider Microsoft.Databox"),
	// 				Operation: to.Ptr("Un-Register Microsoft.Databox"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Register Microsoft.Databox"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 		},
	// 		{
	// 			Name: to.Ptr("Microsoft.DataBox/operations/read"),
	// 			Display: &armdatabox.OperationDisplay{
	// 				Description: to.Ptr("List or get the Operations"),
	// 				Operation: to.Ptr("List Operations"),
	// 				Provider: to.Ptr("Azure Data Box"),
	// 				Resource: to.Ptr("Operations"),
	// 			},
	// 			Origin: to.Ptr("user"),
	// 			Properties: map[string]any{
	// 			},
	// 	}},
	// }
}
Output:

type OperationsClientListOptions

type OperationsClientListOptions struct {
}

OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method.

type OperationsClientListResponse

type OperationsClientListResponse struct {
	// Operation Collection.
	OperationList
}

OperationsClientListResponse contains the response from method OperationsClient.NewListPager.

type OverallValidationStatus

type OverallValidationStatus string

OverallValidationStatus - Overall validation status.

const (
	// OverallValidationStatusAllValidToProceed - Every input request is valid.
	OverallValidationStatusAllValidToProceed OverallValidationStatus = "AllValidToProceed"
	// OverallValidationStatusCertainInputValidationsSkipped - Certain input validations skipped.
	OverallValidationStatusCertainInputValidationsSkipped OverallValidationStatus = "CertainInputValidationsSkipped"
	// OverallValidationStatusInputsRevisitRequired - Some input requests are not valid.
	OverallValidationStatusInputsRevisitRequired OverallValidationStatus = "InputsRevisitRequired"
)

func PossibleOverallValidationStatusValues

func PossibleOverallValidationStatusValues() []OverallValidationStatus

PossibleOverallValidationStatusValues returns the possible values for the OverallValidationStatus const type.

type PackageCarrierDetails

type PackageCarrierDetails struct {
	// Carrier Account Number of customer for customer disk.
	CarrierAccountNumber *string

	// Name of the carrier.
	CarrierName *string

	// Tracking Id of shipment.
	TrackingID *string
}

PackageCarrierDetails - Package carrier details.

func (PackageCarrierDetails) MarshalJSON

func (p PackageCarrierDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type PackageCarrierDetails.

func (*PackageCarrierDetails) UnmarshalJSON

func (p *PackageCarrierDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type PackageCarrierDetails.

type PackageCarrierInfo

type PackageCarrierInfo struct {
	// Name of the carrier.
	CarrierName *string

	// Tracking Id of shipment.
	TrackingID *string
}

PackageCarrierInfo - package carrier info

func (PackageCarrierInfo) MarshalJSON

func (p PackageCarrierInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type PackageCarrierInfo.

func (*PackageCarrierInfo) UnmarshalJSON

func (p *PackageCarrierInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type PackageCarrierInfo.

type PackageShippingDetails

type PackageShippingDetails struct {
	// READ-ONLY; Name of the carrier.
	CarrierName *string

	// READ-ONLY; Tracking Id of shipment.
	TrackingID *string

	// READ-ONLY; Url where shipment can be tracked.
	TrackingURL *string
}

PackageShippingDetails - package shipping details

func (PackageShippingDetails) MarshalJSON

func (p PackageShippingDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type PackageShippingDetails.

func (*PackageShippingDetails) UnmarshalJSON

func (p *PackageShippingDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type PackageShippingDetails.

type Preferences

type Preferences struct {
	// Preferences related to the Encryption.
	EncryptionPreferences *EncryptionPreferences

	// Preferred data center region.
	PreferredDataCenterRegion []*string

	// Optional Preferences related to the reverse shipment logistics of the sku.
	ReverseTransportPreferences *TransportPreferences

	// Preferences related to the Access Tier of storage accounts.
	StorageAccountAccessTierPreferences []*string

	// Preferences related to the shipment logistics of the sku.
	TransportPreferences *TransportPreferences
}

Preferences related to the order

func (Preferences) MarshalJSON

func (p Preferences) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type Preferences.

func (*Preferences) UnmarshalJSON

func (p *Preferences) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type Preferences.

type PreferencesValidationRequest

type PreferencesValidationRequest struct {
	// REQUIRED; Device type to be used for the job.
	DeviceType *SKUName

	// REQUIRED; Identifies the type of validation request.
	ValidationType *ValidationInputDiscriminator

	// Preference of transport and data center.
	Preference *Preferences
}

PreferencesValidationRequest - Request to validate preference of transport and data center.

func (*PreferencesValidationRequest) GetValidationInputRequest

func (p *PreferencesValidationRequest) GetValidationInputRequest() *ValidationInputRequest

GetValidationInputRequest implements the ValidationInputRequestClassification interface for type PreferencesValidationRequest.

func (PreferencesValidationRequest) MarshalJSON

func (p PreferencesValidationRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type PreferencesValidationRequest.

func (*PreferencesValidationRequest) UnmarshalJSON

func (p *PreferencesValidationRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type PreferencesValidationRequest.

type PreferencesValidationResponseProperties

type PreferencesValidationResponseProperties struct {
	// REQUIRED; Identifies the type of validation response.
	ValidationType *ValidationInputDiscriminator

	// READ-ONLY; Error code and message of validation response.
	Error *CloudError

	// READ-ONLY; Validation status of requested data center and transport.
	Status *ValidationStatus
}

PreferencesValidationResponseProperties - Properties of data center and transport preference validation response.

func (*PreferencesValidationResponseProperties) GetValidationInputResponse

func (p *PreferencesValidationResponseProperties) GetValidationInputResponse() *ValidationInputResponse

GetValidationInputResponse implements the ValidationInputResponseClassification interface for type PreferencesValidationResponseProperties.

func (PreferencesValidationResponseProperties) MarshalJSON

func (p PreferencesValidationResponseProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type PreferencesValidationResponseProperties.

func (*PreferencesValidationResponseProperties) UnmarshalJSON

func (p *PreferencesValidationResponseProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type PreferencesValidationResponseProperties.

type RegionConfigurationRequest

type RegionConfigurationRequest struct {
	// Request body to get the datacenter address for given sku.
	DatacenterAddressRequest *DatacenterAddressRequest

	// Request body to get the availability for scheduling orders.
	ScheduleAvailabilityRequest CommonScheduleAvailabilityRequestClassification

	// Request body to get the transport availability for given sku.
	TransportAvailabilityRequest *TransportAvailabilityRequest
}

RegionConfigurationRequest - Request body to get the configuration for the region.

func (RegionConfigurationRequest) MarshalJSON

func (r RegionConfigurationRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RegionConfigurationRequest.

func (*RegionConfigurationRequest) UnmarshalJSON

func (r *RegionConfigurationRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RegionConfigurationRequest.

type RegionConfigurationResponse

type RegionConfigurationResponse struct {
	// READ-ONLY; Datacenter address for given sku in a region.
	DatacenterAddressResponse DatacenterAddressResponseClassification

	// READ-ONLY; Schedule availability for given sku in a region.
	ScheduleAvailabilityResponse *ScheduleAvailabilityResponse

	// READ-ONLY; Transport options available for given sku in a region.
	TransportAvailabilityResponse *TransportAvailabilityResponse
}

RegionConfigurationResponse - Configuration response specific to a region.

func (RegionConfigurationResponse) MarshalJSON

func (r RegionConfigurationResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RegionConfigurationResponse.

func (*RegionConfigurationResponse) UnmarshalJSON

func (r *RegionConfigurationResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RegionConfigurationResponse.

type Resource

type Resource struct {
	// REQUIRED; The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East
	// US, Southeast Asia, etc.). The region of a resource cannot be changed once it is
	// created, but if an identical region is specified on update the request will succeed.
	Location *string

	// REQUIRED; The sku type.
	SKU *SKU

	// Msi identity of the resource
	Identity *ResourceIdentity

	// The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across
	// resource groups).
	Tags map[string]*string
}

Resource - Model of the Resource.

func (Resource) MarshalJSON

func (r Resource) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type Resource.

func (*Resource) UnmarshalJSON

func (r *Resource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type Resource.

type ResourceIdentity

type ResourceIdentity struct {
	// Identity type
	Type *string

	// User Assigned Identities
	UserAssignedIdentities map[string]*UserAssignedIdentity

	// READ-ONLY; Service Principal Id backing the Msi
	PrincipalID *string

	// READ-ONLY; Home Tenant Id
	TenantID *string
}

ResourceIdentity - Msi identity details of the resource

func (ResourceIdentity) MarshalJSON

func (r ResourceIdentity) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ResourceIdentity.

func (*ResourceIdentity) UnmarshalJSON

func (r *ResourceIdentity) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ResourceIdentity.

type ReverseShippingDetails

type ReverseShippingDetails struct {
	// Contact Info.
	ContactDetails *ContactInfo

	// Shipping address where customer wishes to receive the device.
	ShippingAddress *ShippingAddress

	// READ-ONLY; A flag to indicate whether Reverse Shipping details are updated or not after device has been prepared. Read
	// only field
	IsUpdated *bool
}

ReverseShippingDetails - Reverse Shipping Address and contact details for a job.

func (ReverseShippingDetails) MarshalJSON

func (r ReverseShippingDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ReverseShippingDetails.

func (*ReverseShippingDetails) UnmarshalJSON

func (r *ReverseShippingDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ReverseShippingDetails.

type ReverseShippingDetailsEditStatus

type ReverseShippingDetailsEditStatus string

ReverseShippingDetailsEditStatus - The Editable status for Reverse Shipping Address and Contact Info

const (
	// ReverseShippingDetailsEditStatusDisabled - Edit is disabled for Reverse shipping details.
	ReverseShippingDetailsEditStatusDisabled ReverseShippingDetailsEditStatus = "Disabled"
	// ReverseShippingDetailsEditStatusEnabled - Reverse shipping details can be edited.
	ReverseShippingDetailsEditStatusEnabled ReverseShippingDetailsEditStatus = "Enabled"
	// ReverseShippingDetailsEditStatusNotSupported - Edit is not supported for Reverse shipping details. Either subscription
	// feature is not available or SKU doesn't support this feature.
	ReverseShippingDetailsEditStatusNotSupported ReverseShippingDetailsEditStatus = "NotSupported"
)

func PossibleReverseShippingDetailsEditStatusValues

func PossibleReverseShippingDetailsEditStatusValues() []ReverseShippingDetailsEditStatus

PossibleReverseShippingDetailsEditStatusValues returns the possible values for the ReverseShippingDetailsEditStatus const type.

type ReverseTransportPreferenceEditStatus

type ReverseTransportPreferenceEditStatus string

ReverseTransportPreferenceEditStatus - The Editable status for Reverse Transport preferences

const (
	// ReverseTransportPreferenceEditStatusDisabled - Edit is disabled for Reverse Transport Preferences.
	ReverseTransportPreferenceEditStatusDisabled ReverseTransportPreferenceEditStatus = "Disabled"
	// ReverseTransportPreferenceEditStatusEnabled - Reverse Transport Preferences can be edited.
	ReverseTransportPreferenceEditStatusEnabled ReverseTransportPreferenceEditStatus = "Enabled"
	// ReverseTransportPreferenceEditStatusNotSupported - Edit is not supported for Reverse Transport Preferences. Either subscription
	// feature is not available or SKU doesn't support this feature.
	ReverseTransportPreferenceEditStatusNotSupported ReverseTransportPreferenceEditStatus = "NotSupported"
)

func PossibleReverseTransportPreferenceEditStatusValues

func PossibleReverseTransportPreferenceEditStatusValues() []ReverseTransportPreferenceEditStatus

PossibleReverseTransportPreferenceEditStatusValues returns the possible values for the ReverseTransportPreferenceEditStatus const type.

type SKU

type SKU struct {
	// REQUIRED; The sku name.
	Name *SKUName

	// The display name of the sku.
	DisplayName *string

	// The sku family.
	Family *string
}

SKU - The Sku.

func (SKU) MarshalJSON

func (s SKU) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SKU.

func (*SKU) UnmarshalJSON

func (s *SKU) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SKU.

type SKUAvailabilityValidationRequest

type SKUAvailabilityValidationRequest struct {
	// REQUIRED; ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO3166-1alpha-2#Officiallyassignedcode_elements
	Country *string

	// REQUIRED; Device type to be used for the job.
	DeviceType *SKUName

	// REQUIRED; Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01
	Location *string

	// REQUIRED; Type of the transfer.
	TransferType *TransferType

	// REQUIRED; Identifies the type of validation request.
	ValidationType *ValidationInputDiscriminator
}

SKUAvailabilityValidationRequest - Request to validate sku availability.

func (*SKUAvailabilityValidationRequest) GetValidationInputRequest

func (s *SKUAvailabilityValidationRequest) GetValidationInputRequest() *ValidationInputRequest

GetValidationInputRequest implements the ValidationInputRequestClassification interface for type SKUAvailabilityValidationRequest.

func (SKUAvailabilityValidationRequest) MarshalJSON

func (s SKUAvailabilityValidationRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SKUAvailabilityValidationRequest.

func (*SKUAvailabilityValidationRequest) UnmarshalJSON

func (s *SKUAvailabilityValidationRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SKUAvailabilityValidationRequest.

type SKUAvailabilityValidationResponseProperties

type SKUAvailabilityValidationResponseProperties struct {
	// REQUIRED; Identifies the type of validation response.
	ValidationType *ValidationInputDiscriminator

	// READ-ONLY; Error code and message of validation response.
	Error *CloudError

	// READ-ONLY; Sku availability validation status.
	Status *ValidationStatus
}

SKUAvailabilityValidationResponseProperties - Properties of sku availability validation response.

func (*SKUAvailabilityValidationResponseProperties) GetValidationInputResponse

GetValidationInputResponse implements the ValidationInputResponseClassification interface for type SKUAvailabilityValidationResponseProperties.

func (SKUAvailabilityValidationResponseProperties) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type SKUAvailabilityValidationResponseProperties.

func (*SKUAvailabilityValidationResponseProperties) UnmarshalJSON

func (s *SKUAvailabilityValidationResponseProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SKUAvailabilityValidationResponseProperties.

type SKUCapacity

type SKUCapacity struct {
	// READ-ONLY; Maximum capacity in TB.
	Maximum *string

	// READ-ONLY; Usable capacity in TB.
	Usable *string
}

SKUCapacity - Capacity of the sku.

func (SKUCapacity) MarshalJSON

func (s SKUCapacity) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SKUCapacity.

func (*SKUCapacity) UnmarshalJSON

func (s *SKUCapacity) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SKUCapacity.

type SKUCost

type SKUCost struct {
	// READ-ONLY; Meter id of the Sku.
	MeterID *string

	// READ-ONLY; The type of the meter.
	MeterType *string

	// READ-ONLY; Multiplier specifies the region specific value to be multiplied with 1$ guid. Eg: Our new regions will be using
	// 1$ shipping guid with appropriate multiplier specific to region.
	Multiplier *float64
}

SKUCost - Describes metadata for retrieving price info.

func (SKUCost) MarshalJSON

func (s SKUCost) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SKUCost.

func (*SKUCost) UnmarshalJSON

func (s *SKUCost) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SKUCost.

type SKUDisabledReason

type SKUDisabledReason string

SKUDisabledReason - Reason why the Sku is disabled.

const (
	// SKUDisabledReasonCountry - SKU is not available in the requested country.
	SKUDisabledReasonCountry SKUDisabledReason = "Country"
	// SKUDisabledReasonFeature - Required features are not enabled for the SKU.
	SKUDisabledReasonFeature SKUDisabledReason = "Feature"
	// SKUDisabledReasonNoSubscriptionInfo - Subscription has not registered to Microsoft.DataBox and Service does not have the
	// subscription notification.
	SKUDisabledReasonNoSubscriptionInfo SKUDisabledReason = "NoSubscriptionInfo"
	// SKUDisabledReasonNone - SKU is not disabled.
	SKUDisabledReasonNone SKUDisabledReason = "None"
	// SKUDisabledReasonOfferType - Subscription does not have required offer types for the SKU.
	SKUDisabledReasonOfferType SKUDisabledReason = "OfferType"
	// SKUDisabledReasonRegion - SKU is not available to push data to the requested Azure region.
	SKUDisabledReasonRegion SKUDisabledReason = "Region"
)

func PossibleSKUDisabledReasonValues

func PossibleSKUDisabledReasonValues() []SKUDisabledReason

PossibleSKUDisabledReasonValues returns the possible values for the SKUDisabledReason const type.

type SKUInformation

type SKUInformation struct {
	// READ-ONLY; The sku is enabled or not.
	Enabled *bool

	// READ-ONLY; Properties of the sku.
	Properties *SKUProperties

	// READ-ONLY; The Sku.
	SKU *SKU
}

SKUInformation - Information of the sku.

func (SKUInformation) MarshalJSON

func (s SKUInformation) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SKUInformation.

func (*SKUInformation) UnmarshalJSON

func (s *SKUInformation) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SKUInformation.

type SKUName

type SKUName string
const (
	// SKUNameDataBox - Data Box.
	SKUNameDataBox SKUName = "DataBox"
	// SKUNameDataBoxCustomerDisk - Data Box Customer Disk
	SKUNameDataBoxCustomerDisk SKUName = "DataBoxCustomerDisk"
	// SKUNameDataBoxDisk - Data Box Disk.
	SKUNameDataBoxDisk SKUName = "DataBoxDisk"
	// SKUNameDataBoxHeavy - Data Box Heavy.
	SKUNameDataBoxHeavy SKUName = "DataBoxHeavy"
)

func PossibleSKUNameValues

func PossibleSKUNameValues() []SKUName

PossibleSKUNameValues returns the possible values for the SKUName const type.

type SKUProperties

type SKUProperties struct {
	// READ-ONLY; Api versions that support this Sku.
	APIVersions []*string

	// READ-ONLY; Capacity of the Sku.
	Capacity *SKUCapacity

	// READ-ONLY; Cost of the Sku.
	Costs []*SKUCost

	// READ-ONLY; List of all the Countries in the SKU specific commerce boundary
	CountriesWithinCommerceBoundary []*string

	// READ-ONLY; The map of data location to service location.
	DataLocationToServiceLocationMap []*DataLocationToServiceLocationMap

	// READ-ONLY; Reason why the Sku is disabled.
	DisabledReason *SKUDisabledReason

	// READ-ONLY; Message for why the Sku is disabled.
	DisabledReasonMessage *string

	// READ-ONLY; Required feature to access the sku.
	RequiredFeature *string
}

SKUProperties - Properties of the sku.

func (SKUProperties) MarshalJSON

func (s SKUProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SKUProperties.

func (*SKUProperties) UnmarshalJSON

func (s *SKUProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SKUProperties.

type ScheduleAvailabilityRequest

type ScheduleAvailabilityRequest struct {
	// REQUIRED; Sku Name for which the order is to be scheduled.
	SKUName *SKUName

	// REQUIRED; Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01
	StorageLocation *string

	// Country in which storage location should be supported.
	Country *string
}

ScheduleAvailabilityRequest - Request body to get the availability for scheduling data box orders orders.

func (*ScheduleAvailabilityRequest) GetCommonScheduleAvailabilityRequest

func (s *ScheduleAvailabilityRequest) GetCommonScheduleAvailabilityRequest() *CommonScheduleAvailabilityRequest

GetCommonScheduleAvailabilityRequest implements the CommonScheduleAvailabilityRequestClassification interface for type ScheduleAvailabilityRequest.

func (ScheduleAvailabilityRequest) MarshalJSON

func (s ScheduleAvailabilityRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ScheduleAvailabilityRequest.

func (*ScheduleAvailabilityRequest) UnmarshalJSON

func (s *ScheduleAvailabilityRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ScheduleAvailabilityRequest.

type ScheduleAvailabilityResponse

type ScheduleAvailabilityResponse struct {
	// READ-ONLY; List of dates available to schedule
	AvailableDates []*time.Time
}

ScheduleAvailabilityResponse - Schedule availability for given sku in a region.

func (ScheduleAvailabilityResponse) MarshalJSON

func (s ScheduleAvailabilityResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ScheduleAvailabilityResponse.

func (*ScheduleAvailabilityResponse) UnmarshalJSON

func (s *ScheduleAvailabilityResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ScheduleAvailabilityResponse.

type Secret

type Secret struct {
	// READ-ONLY; Per account level access credentials.
	AccountCredentialDetails []*AccountCredentialDetails

	// READ-ONLY; Password for out of the box experience on device.
	DevicePassword *string

	// READ-ONLY; Serial number of the assigned device.
	DeviceSerialNumber *string

	// READ-ONLY; The base 64 encoded public key to authenticate with the device
	EncodedValidationCertPubKey *string

	// READ-ONLY; Network configuration of the appliance.
	NetworkConfigurations []*ApplianceNetworkConfiguration
}

Secret - The secrets related to a DataBox.

func (Secret) MarshalJSON

func (s Secret) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type Secret.

func (*Secret) UnmarshalJSON

func (s *Secret) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type Secret.

type ServiceClient

type ServiceClient struct {
	// contains filtered or unexported fields
}

ServiceClient contains the methods for the Service group. Don't use this type directly, use NewServiceClient() instead.

func NewServiceClient

func NewServiceClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServiceClient, error)

NewServiceClient creates a new instance of ServiceClient with the specified values.

  • subscriptionID - The Subscription Id
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ServiceClient) NewListAvailableSKUsByResourceGroupPager

func (client *ServiceClient) NewListAvailableSKUsByResourceGroupPager(resourceGroupName string, location string, availableSKURequest AvailableSKURequest, options *ServiceClientListAvailableSKUsByResourceGroupOptions) *runtime.Pager[ServiceClientListAvailableSKUsByResourceGroupResponse]

NewListAvailableSKUsByResourceGroupPager - This method provides the list of available skus for the given subscription, resource group and location.

Generated from API version 2022-12-01

  • resourceGroupName - The Resource Group Name
  • location - The location of the resource
  • availableSKURequest - Filters for showing the available skus.
  • options - ServiceClientListAvailableSKUsByResourceGroupOptions contains the optional parameters for the ServiceClient.NewListAvailableSKUsByResourceGroupPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/AvailableSkusPost.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
pager := clientFactory.NewServiceClient().NewListAvailableSKUsByResourceGroupPager("YourResourceGroupName", "westus", armdatabox.AvailableSKURequest{
	Country:      to.Ptr("XX"),
	Location:     to.Ptr("westus"),
	TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
}, nil)
for pager.More() {
	page, err := pager.NextPage(ctx)
	if err != nil {
		log.Fatalf("failed to advance page: %v", err)
	}
	for _, v := range page.Value {
		// You could use page here. We use blank identifier for just demo purposes.
		_ = v
	}
	// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// page.AvailableSKUsResult = armdatabox.AvailableSKUsResult{
	// 	Value: []*armdatabox.SKUInformation{
	// 		{
	// 			Enabled: to.Ptr(true),
	// 			Properties: &armdatabox.SKUProperties{
	// 				APIVersions: []*string{
	// 					to.Ptr("2018-01-01")},
	// 					Capacity: &armdatabox.SKUCapacity{
	// 						Maximum: to.Ptr("100"),
	// 						Usable: to.Ptr("80"),
	// 					},
	// 					Costs: []*armdatabox.SKUCost{
	// 						{
	// 							MeterID: to.Ptr("0cf23ffc-0b64-49e6-9bdd-1db885349042"),
	// 							MeterType: to.Ptr("DataBoxServiceFee"),
	// 							Multiplier: to.Ptr[float64](1),
	// 						},
	// 						{
	// 							MeterID: to.Ptr("a701f058-119b-4713-a923-bed7da4b7801"),
	// 							MeterType: to.Ptr("DataBoxShippingFee"),
	// 							Multiplier: to.Ptr[float64](1),
	// 						},
	// 						{
	// 							MeterID: to.Ptr("049fa331-0a48-4a81-9991-a6bef3c79fed"),
	// 							MeterType: to.Ptr("DataBoxExtraDayFee"),
	// 							Multiplier: to.Ptr[float64](1),
	// 						},
	// 						{
	// 							MeterID: to.Ptr("c3ea978d-6a0a-4632-b094-4fffcafcb057"),
	// 							MeterType: to.Ptr("DataBoxLostOrDamagedDeviceFee"),
	// 							Multiplier: to.Ptr[float64](1),
	// 					}},
	// 					CountriesWithinCommerceBoundary: []*string{
	// 						to.Ptr("XX")},
	// 						DataLocationToServiceLocationMap: []*armdatabox.DataLocationToServiceLocationMap{
	// 							{
	// 								DataLocation: to.Ptr("westus"),
	// 								ServiceLocation: to.Ptr("westus"),
	// 							},
	// 							{
	// 								DataLocation: to.Ptr("centralus"),
	// 								ServiceLocation: to.Ptr("westus"),
	// 							},
	// 							{
	// 								DataLocation: to.Ptr("eastus"),
	// 								ServiceLocation: to.Ptr("westus"),
	// 							},
	// 							{
	// 								DataLocation: to.Ptr("eastus2"),
	// 								ServiceLocation: to.Ptr("westus"),
	// 							},
	// 							{
	// 								DataLocation: to.Ptr("northcentralus"),
	// 								ServiceLocation: to.Ptr("westus"),
	// 							},
	// 							{
	// 								DataLocation: to.Ptr("southcentralus"),
	// 								ServiceLocation: to.Ptr("westus"),
	// 							},
	// 							{
	// 								DataLocation: to.Ptr("westcentralus"),
	// 								ServiceLocation: to.Ptr("westus"),
	// 							},
	// 							{
	// 								DataLocation: to.Ptr("westus2"),
	// 								ServiceLocation: to.Ptr("westus"),
	// 							},
	// 							{
	// 								DataLocation: to.Ptr("centraluseuap"),
	// 								ServiceLocation: to.Ptr("centraluseuap"),
	// 							},
	// 							{
	// 								DataLocation: to.Ptr("eastus2euap"),
	// 								ServiceLocation: to.Ptr("eastus2euap"),
	// 						}},
	// 						DisabledReason: to.Ptr(armdatabox.SKUDisabledReasonNone),
	// 					},
	// 					SKU: &armdatabox.SKU{
	// 						Name: to.Ptr(armdatabox.SKUNameDataBox),
	// 					},
	// 				},
	// 				{
	// 					Enabled: to.Ptr(true),
	// 					Properties: &armdatabox.SKUProperties{
	// 						APIVersions: []*string{
	// 							to.Ptr("2018-01-01")},
	// 							Capacity: &armdatabox.SKUCapacity{
	// 								Maximum: to.Ptr("40"),
	// 								Usable: to.Ptr("35"),
	// 							},
	// 							Costs: []*armdatabox.SKUCost{
	// 								{
	// 									MeterID: to.Ptr("d95cd8b5-b6f1-4cd9-ae86-a016d1945d6f"),
	// 									MeterType: to.Ptr("DataBoxDiskServiceFee"),
	// 									Multiplier: to.Ptr[float64](1),
	// 								},
	// 								{
	// 									MeterID: to.Ptr("4b8cf572-cb04-4ef3-9528-2cda4e9b544e"),
	// 									MeterType: to.Ptr("DataBoxDiskShippingFee"),
	// 									Multiplier: to.Ptr[float64](1),
	// 								},
	// 								{
	// 									MeterID: to.Ptr("b6ae9bbf-815d-49dd-bb2b-77c497b72ba4"),
	// 									MeterType: to.Ptr("DataBoxDiskDailyUsageFee"),
	// 									Multiplier: to.Ptr[float64](1),
	// 								},
	// 								{
	// 									MeterID: to.Ptr("08bc0ea1-6c82-421b-b953-2a7a65810d2e"),
	// 									MeterType: to.Ptr("DataBoxDiskLostDeviceFee"),
	// 									Multiplier: to.Ptr[float64](1),
	// 							}},
	// 							CountriesWithinCommerceBoundary: []*string{
	// 								to.Ptr("XX")},
	// 								DataLocationToServiceLocationMap: []*armdatabox.DataLocationToServiceLocationMap{
	// 									{
	// 										DataLocation: to.Ptr("westus"),
	// 										ServiceLocation: to.Ptr("westus"),
	// 									},
	// 									{
	// 										DataLocation: to.Ptr("centralus"),
	// 										ServiceLocation: to.Ptr("westus"),
	// 									},
	// 									{
	// 										DataLocation: to.Ptr("eastus"),
	// 										ServiceLocation: to.Ptr("westus"),
	// 									},
	// 									{
	// 										DataLocation: to.Ptr("eastus2"),
	// 										ServiceLocation: to.Ptr("westus"),
	// 									},
	// 									{
	// 										DataLocation: to.Ptr("northcentralus"),
	// 										ServiceLocation: to.Ptr("westus"),
	// 									},
	// 									{
	// 										DataLocation: to.Ptr("southcentralus"),
	// 										ServiceLocation: to.Ptr("westus"),
	// 									},
	// 									{
	// 										DataLocation: to.Ptr("westcentralus"),
	// 										ServiceLocation: to.Ptr("westus"),
	// 									},
	// 									{
	// 										DataLocation: to.Ptr("westus2"),
	// 										ServiceLocation: to.Ptr("westus"),
	// 									},
	// 									{
	// 										DataLocation: to.Ptr("centraluseuap"),
	// 										ServiceLocation: to.Ptr("centraluseuap"),
	// 									},
	// 									{
	// 										DataLocation: to.Ptr("eastus2euap"),
	// 										ServiceLocation: to.Ptr("eastus2euap"),
	// 								}},
	// 								DisabledReason: to.Ptr(armdatabox.SKUDisabledReasonNone),
	// 							},
	// 							SKU: &armdatabox.SKU{
	// 								Name: to.Ptr(armdatabox.SKUNameDataBoxDisk),
	// 							},
	// 						},
	// 						{
	// 							Enabled: to.Ptr(true),
	// 							Properties: &armdatabox.SKUProperties{
	// 								APIVersions: []*string{
	// 									to.Ptr("2018-01-01")},
	// 									Capacity: &armdatabox.SKUCapacity{
	// 										Maximum: to.Ptr("1000"),
	// 										Usable: to.Ptr("800"),
	// 									},
	// 									Costs: []*armdatabox.SKUCost{
	// 										{
	// 											MeterID: to.Ptr("d0dccaaf-3de9-4c7a-ba97-f83551b90126"),
	// 											MeterType: to.Ptr("DataBoxHeavyServiceFee"),
	// 											Multiplier: to.Ptr[float64](1),
	// 										},
	// 										{
	// 											MeterID: to.Ptr("7b49d11f-d4f7-4029-a197-04998fd282f9"),
	// 											MeterType: to.Ptr("DataBoxHeavyShippingFee"),
	// 											Multiplier: to.Ptr[float64](1),
	// 										},
	// 										{
	// 											MeterID: to.Ptr("c2c66d53-11b4-4f11-9642-43c7c336f0b7"),
	// 											MeterType: to.Ptr("DataBoxHeavyExtraDayFee"),
	// 											Multiplier: to.Ptr[float64](1),
	// 										},
	// 										{
	// 											MeterID: to.Ptr("188dcd7e-fbd7-4a41-aa42-162b81b0510f"),
	// 											MeterType: to.Ptr("DataBoxHeavyLostOrDamagedDeviceFee"),
	// 											Multiplier: to.Ptr[float64](1),
	// 									}},
	// 									CountriesWithinCommerceBoundary: []*string{
	// 										to.Ptr("XX")},
	// 										DataLocationToServiceLocationMap: []*armdatabox.DataLocationToServiceLocationMap{
	// 											{
	// 												DataLocation: to.Ptr("westus"),
	// 												ServiceLocation: to.Ptr("westus"),
	// 											},
	// 											{
	// 												DataLocation: to.Ptr("centralus"),
	// 												ServiceLocation: to.Ptr("westus"),
	// 											},
	// 											{
	// 												DataLocation: to.Ptr("eastus"),
	// 												ServiceLocation: to.Ptr("westus"),
	// 											},
	// 											{
	// 												DataLocation: to.Ptr("eastus2"),
	// 												ServiceLocation: to.Ptr("westus"),
	// 											},
	// 											{
	// 												DataLocation: to.Ptr("northcentralus"),
	// 												ServiceLocation: to.Ptr("westus"),
	// 											},
	// 											{
	// 												DataLocation: to.Ptr("southcentralus"),
	// 												ServiceLocation: to.Ptr("westus"),
	// 											},
	// 											{
	// 												DataLocation: to.Ptr("westcentralus"),
	// 												ServiceLocation: to.Ptr("westus"),
	// 											},
	// 											{
	// 												DataLocation: to.Ptr("westus2"),
	// 												ServiceLocation: to.Ptr("westus"),
	// 											},
	// 											{
	// 												DataLocation: to.Ptr("centraluseuap"),
	// 												ServiceLocation: to.Ptr("centraluseuap"),
	// 											},
	// 											{
	// 												DataLocation: to.Ptr("eastus2euap"),
	// 												ServiceLocation: to.Ptr("eastus2euap"),
	// 										}},
	// 										DisabledReason: to.Ptr(armdatabox.SKUDisabledReasonNone),
	// 										RequiredFeature: to.Ptr("HeavyCreateAccess"),
	// 									},
	// 									SKU: &armdatabox.SKU{
	// 										Name: to.Ptr(armdatabox.SKUNameDataBoxHeavy),
	// 									},
	// 							}},
	// 						}
}
Output:

func (*ServiceClient) RegionConfiguration

func (client *ServiceClient) RegionConfiguration(ctx context.Context, location string, regionConfigurationRequest RegionConfigurationRequest, options *ServiceClientRegionConfigurationOptions) (ServiceClientRegionConfigurationResponse, error)

RegionConfiguration - This API provides configuration details specific to given region/location at Subscription level. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2022-12-01

  • location - The location of the resource
  • regionConfigurationRequest - Request body to get the configuration for the region.
  • options - ServiceClientRegionConfigurationOptions contains the optional parameters for the ServiceClient.RegionConfiguration method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/RegionConfiguration.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewServiceClient().RegionConfiguration(ctx, "westus", armdatabox.RegionConfigurationRequest{
	ScheduleAvailabilityRequest: &armdatabox.ScheduleAvailabilityRequest{
		SKUName:         to.Ptr(armdatabox.SKUNameDataBox),
		StorageLocation: to.Ptr("westus"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.RegionConfigurationResponse = armdatabox.RegionConfigurationResponse{
// 	ScheduleAvailabilityResponse: &armdatabox.ScheduleAvailabilityResponse{
// 		AvailableDates: []*time.Time{
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-11T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-12T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-13T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-14T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-15T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-16T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-17T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-18T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-19T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-20T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-21T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-22T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-23T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-24T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-25T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-26T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-27T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-28T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-29T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-30T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-31T00:00:00.000Z"); return t}())},
// 		},
// 	}
Output:

func (*ServiceClient) RegionConfigurationByResourceGroup

func (client *ServiceClient) RegionConfigurationByResourceGroup(ctx context.Context, resourceGroupName string, location string, regionConfigurationRequest RegionConfigurationRequest, options *ServiceClientRegionConfigurationByResourceGroupOptions) (ServiceClientRegionConfigurationByResourceGroupResponse, error)

RegionConfigurationByResourceGroup - This API provides configuration details specific to given region/location at Resource group level. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2022-12-01

  • resourceGroupName - The Resource Group Name
  • location - The location of the resource
  • regionConfigurationRequest - Request body to get the configuration for the region at resource group level.
  • options - ServiceClientRegionConfigurationByResourceGroupOptions contains the optional parameters for the ServiceClient.RegionConfigurationByResourceGroup method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/RegionConfigurationByResourceGroup.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewServiceClient().RegionConfigurationByResourceGroup(ctx, "YourResourceGroupName", "westus", armdatabox.RegionConfigurationRequest{
	ScheduleAvailabilityRequest: &armdatabox.ScheduleAvailabilityRequest{
		SKUName:         to.Ptr(armdatabox.SKUNameDataBox),
		StorageLocation: to.Ptr("westus"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.RegionConfigurationResponse = armdatabox.RegionConfigurationResponse{
// 	ScheduleAvailabilityResponse: &armdatabox.ScheduleAvailabilityResponse{
// 		AvailableDates: []*time.Time{
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-11T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-12T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-13T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-14T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-15T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-16T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-17T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-18T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-19T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-20T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-21T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-22T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-23T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-24T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-25T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-26T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-27T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-28T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-29T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-30T00:00:00.000Z"); return t}()),
// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-31T00:00:00.000Z"); return t}())},
// 		},
// 	}
Output:

func (*ServiceClient) ValidateAddress

func (client *ServiceClient) ValidateAddress(ctx context.Context, location string, validateAddress ValidateAddress, options *ServiceClientValidateAddressOptions) (ServiceClientValidateAddressResponse, error)

ValidateAddress - [DEPRECATED NOTICE: This operation will soon be removed]. This method validates the customer shipping address and provide alternate addresses if any. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2022-12-01

  • location - The location of the resource
  • validateAddress - Shipping address of the customer.
  • options - ServiceClientValidateAddressOptions contains the optional parameters for the ServiceClient.ValidateAddress method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/ValidateAddressPost.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewServiceClient().ValidateAddress(ctx, "westus", armdatabox.ValidateAddress{
	ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateAddress),
	DeviceType:     to.Ptr(armdatabox.SKUNameDataBox),
	ShippingAddress: &armdatabox.ShippingAddress{
		AddressType:     to.Ptr(armdatabox.AddressTypeCommercial),
		City:            to.Ptr("XXXX XXXX"),
		CompanyName:     to.Ptr("XXXX XXXX"),
		Country:         to.Ptr("XX"),
		PostalCode:      to.Ptr("00000"),
		StateOrProvince: to.Ptr("XX"),
		StreetAddress1:  to.Ptr("XXXX XXXX"),
		StreetAddress2:  to.Ptr("XXXX XXXX"),
	},
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AddressValidationOutput = armdatabox.AddressValidationOutput{
// 	Properties: &armdatabox.AddressValidationProperties{
// 		ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateAddress),
// 		AlternateAddresses: []*armdatabox.ShippingAddress{
// 			{
// 				AddressType: to.Ptr(armdatabox.AddressTypeNone),
// 				City: to.Ptr("XXXX XXXX"),
// 				Country: to.Ptr("XX"),
// 				PostalCode: to.Ptr("00000"),
// 				StateOrProvince: to.Ptr("XX"),
// 				StreetAddress1: to.Ptr("XXXX XXXX"),
// 				StreetAddress2: to.Ptr("XXXX XXXX"),
// 				StreetAddress3: to.Ptr(""),
// 		}},
// 		ValidationStatus: to.Ptr(armdatabox.AddressValidationStatusValid),
// 	},
// }
Output:

func (*ServiceClient) ValidateInputs

ValidateInputs - This method does all necessary pre-job creation validation under subscription. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2022-12-01

  • location - The location of the resource
  • validationRequest - Inputs of the customer.
  • options - ServiceClientValidateInputsOptions contains the optional parameters for the ServiceClient.ValidateInputs method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/ValidateInputs.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewServiceClient().ValidateInputs(ctx, "westus", &armdatabox.CreateJobValidations{
	IndividualRequestDetails: []armdatabox.ValidationInputRequestClassification{
		&armdatabox.DataTransferDetailsValidationRequest{
			ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateDataTransferDetails),
			DataImportDetails: []*armdatabox.DataImportDetails{
				{
					AccountDetails: &armdatabox.StorageAccountDetails{
						DataAccountType:  to.Ptr(armdatabox.DataAccountTypeStorageAccount),
						StorageAccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourcegroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
					},
				}},
			DeviceType:   to.Ptr(armdatabox.SKUNameDataBox),
			TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
		},
		&armdatabox.ValidateAddress{
			ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateAddress),
			DeviceType:     to.Ptr(armdatabox.SKUNameDataBox),
			ShippingAddress: &armdatabox.ShippingAddress{
				AddressType:     to.Ptr(armdatabox.AddressTypeCommercial),
				City:            to.Ptr("XXXX XXXX"),
				CompanyName:     to.Ptr("XXXX XXXX"),
				Country:         to.Ptr("XX"),
				PostalCode:      to.Ptr("00000"),
				StateOrProvince: to.Ptr("XX"),
				StreetAddress1:  to.Ptr("XXXX XXXX"),
				StreetAddress2:  to.Ptr("XXXX XXXX"),
			},
			TransportPreferences: &armdatabox.TransportPreferences{
				PreferredShipmentType: to.Ptr(armdatabox.TransportShipmentTypesMicrosoftManaged),
			},
		},
		&armdatabox.SubscriptionIsAllowedToCreateJobValidationRequest{
			ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateSubscriptionIsAllowedToCreateJob),
		},
		&armdatabox.SKUAvailabilityValidationRequest{
			ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateSKUAvailability),
			Country:        to.Ptr("XX"),
			DeviceType:     to.Ptr(armdatabox.SKUNameDataBox),
			Location:       to.Ptr("westus"),
			TransferType:   to.Ptr(armdatabox.TransferTypeImportToAzure),
		},
		&armdatabox.CreateOrderLimitForSubscriptionValidationRequest{
			ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateCreateOrderLimit),
			DeviceType:     to.Ptr(armdatabox.SKUNameDataBox),
		},
		&armdatabox.PreferencesValidationRequest{
			ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidatePreferences),
			DeviceType:     to.Ptr(armdatabox.SKUNameDataBox),
			Preference: &armdatabox.Preferences{
				TransportPreferences: &armdatabox.TransportPreferences{
					PreferredShipmentType: to.Ptr(armdatabox.TransportShipmentTypesMicrosoftManaged),
				},
			},
		}},
	ValidationCategory: to.Ptr("JobCreationValidation"),
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ValidationResponse = armdatabox.ValidationResponse{
// 	Properties: &armdatabox.ValidationResponseProperties{
// 		IndividualResponseDetails: []armdatabox.ValidationInputResponseClassification{
// 			&armdatabox.DataTransferDetailsValidationResponseProperties{
// 				Error: &armdatabox.CloudError{
// 					AdditionalInfo: []*armdatabox.AdditionalErrorInfo{
// 					},
// 					Code: to.Ptr("Success"),
// 					Target: to.Ptr("KeyEncryptionKey"),
// 					Details: []*armdatabox.CloudError{
// 					},
// 				},
// 				ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateDataTransferDetails),
// 				Status: to.Ptr(armdatabox.ValidationStatusValid),
// 			},
// 			&armdatabox.AddressValidationProperties{
// 				Error: &armdatabox.CloudError{
// 					AdditionalInfo: []*armdatabox.AdditionalErrorInfo{
// 					},
// 					Code: to.Ptr("Success"),
// 					Target: to.Ptr("KeyEncryptionKey"),
// 					Details: []*armdatabox.CloudError{
// 					},
// 				},
// 				ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateAddress),
// 				AlternateAddresses: []*armdatabox.ShippingAddress{
// 					{
// 						AddressType: to.Ptr(armdatabox.AddressTypeNone),
// 						City: to.Ptr("XXXX XXXX"),
// 						Country: to.Ptr("XX"),
// 						PostalCode: to.Ptr("00000"),
// 						StateOrProvince: to.Ptr("XX"),
// 						StreetAddress1: to.Ptr("XXXX XXXX"),
// 						StreetAddress2: to.Ptr("XXXX XXXX"),
// 						StreetAddress3: to.Ptr(""),
// 				}},
// 				ValidationStatus: to.Ptr(armdatabox.AddressValidationStatusValid),
// 			},
// 			&armdatabox.SubscriptionIsAllowedToCreateJobValidationResponseProperties{
// 				Error: &armdatabox.CloudError{
// 					AdditionalInfo: []*armdatabox.AdditionalErrorInfo{
// 					},
// 					Code: to.Ptr("Success"),
// 					Target: to.Ptr("KeyEncryptionKey"),
// 					Details: []*armdatabox.CloudError{
// 					},
// 				},
// 				ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateSubscriptionIsAllowedToCreateJob),
// 				Status: to.Ptr(armdatabox.ValidationStatusValid),
// 			},
// 			&armdatabox.SKUAvailabilityValidationResponseProperties{
// 				Error: &armdatabox.CloudError{
// 					AdditionalInfo: []*armdatabox.AdditionalErrorInfo{
// 					},
// 					Code: to.Ptr("Success"),
// 					Target: to.Ptr("KeyEncryptionKey"),
// 					Details: []*armdatabox.CloudError{
// 					},
// 				},
// 				ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateSKUAvailability),
// 				Status: to.Ptr(armdatabox.ValidationStatusValid),
// 			},
// 			&armdatabox.CreateOrderLimitForSubscriptionValidationResponseProperties{
// 				Error: &armdatabox.CloudError{
// 					AdditionalInfo: []*armdatabox.AdditionalErrorInfo{
// 					},
// 					Code: to.Ptr("Success"),
// 					Target: to.Ptr("KeyEncryptionKey"),
// 					Details: []*armdatabox.CloudError{
// 					},
// 				},
// 				ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateCreateOrderLimit),
// 				Status: to.Ptr(armdatabox.ValidationStatusValid),
// 			},
// 			&armdatabox.PreferencesValidationResponseProperties{
// 				Error: &armdatabox.CloudError{
// 					AdditionalInfo: []*armdatabox.AdditionalErrorInfo{
// 					},
// 					Code: to.Ptr("Success"),
// 					Target: to.Ptr("KeyEncryptionKey"),
// 					Details: []*armdatabox.CloudError{
// 					},
// 				},
// 				ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidatePreferences),
// 				Status: to.Ptr(armdatabox.ValidationStatusValid),
// 		}},
// 		Status: to.Ptr(armdatabox.OverallValidationStatusAllValidToProceed),
// 	},
// }
Output:

func (*ServiceClient) ValidateInputsByResourceGroup

func (client *ServiceClient) ValidateInputsByResourceGroup(ctx context.Context, resourceGroupName string, location string, validationRequest ValidationRequestClassification, options *ServiceClientValidateInputsByResourceGroupOptions) (ServiceClientValidateInputsByResourceGroupResponse, error)

ValidateInputsByResourceGroup - This method does all necessary pre-job creation validation under resource group. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2022-12-01

  • resourceGroupName - The Resource Group Name
  • location - The location of the resource
  • validationRequest - Inputs of the customer.
  • options - ServiceClientValidateInputsByResourceGroupOptions contains the optional parameters for the ServiceClient.ValidateInputsByResourceGroup method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/17aa6a1314de5aafef059d9aa2229901df506e75/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-12-01/examples/ValidateInputsByResourceGroup.json

cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
	log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdatabox.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
	log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewServiceClient().ValidateInputsByResourceGroup(ctx, "YourResourceGroupName", "westus", &armdatabox.CreateJobValidations{
	IndividualRequestDetails: []armdatabox.ValidationInputRequestClassification{
		&armdatabox.DataTransferDetailsValidationRequest{
			ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateDataTransferDetails),
			DataImportDetails: []*armdatabox.DataImportDetails{
				{
					AccountDetails: &armdatabox.StorageAccountDetails{
						DataAccountType:  to.Ptr(armdatabox.DataAccountTypeStorageAccount),
						StorageAccountID: to.Ptr("/subscriptions/YourSubscriptionId/resourcegroups/YourResourceGroupName/providers/Microsoft.Storage/storageAccounts/YourStorageAccountName"),
					},
				}},
			DeviceType:   to.Ptr(armdatabox.SKUNameDataBox),
			TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
		},
		&armdatabox.ValidateAddress{
			ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateAddress),
			DeviceType:     to.Ptr(armdatabox.SKUNameDataBox),
			ShippingAddress: &armdatabox.ShippingAddress{
				AddressType:     to.Ptr(armdatabox.AddressTypeCommercial),
				City:            to.Ptr("XXXX XXXX"),
				CompanyName:     to.Ptr("XXXX XXXX"),
				Country:         to.Ptr("XX"),
				PostalCode:      to.Ptr("00000"),
				StateOrProvince: to.Ptr("XX"),
				StreetAddress1:  to.Ptr("XXXX XXXX"),
				StreetAddress2:  to.Ptr("XXXX XXXX"),
			},
			TransportPreferences: &armdatabox.TransportPreferences{
				PreferredShipmentType: to.Ptr(armdatabox.TransportShipmentTypesMicrosoftManaged),
			},
		},
		&armdatabox.SubscriptionIsAllowedToCreateJobValidationRequest{
			ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateSubscriptionIsAllowedToCreateJob),
		},
		&armdatabox.SKUAvailabilityValidationRequest{
			ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateSKUAvailability),
			Country:        to.Ptr("XX"),
			DeviceType:     to.Ptr(armdatabox.SKUNameDataBox),
			Location:       to.Ptr("westus"),
			TransferType:   to.Ptr(armdatabox.TransferTypeImportToAzure),
		},
		&armdatabox.CreateOrderLimitForSubscriptionValidationRequest{
			ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateCreateOrderLimit),
			DeviceType:     to.Ptr(armdatabox.SKUNameDataBox),
		},
		&armdatabox.PreferencesValidationRequest{
			ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidatePreferences),
			DeviceType:     to.Ptr(armdatabox.SKUNameDataBox),
			Preference: &armdatabox.Preferences{
				TransportPreferences: &armdatabox.TransportPreferences{
					PreferredShipmentType: to.Ptr(armdatabox.TransportShipmentTypesMicrosoftManaged),
				},
			},
		}},
	ValidationCategory: to.Ptr("JobCreationValidation"),
}, nil)
if err != nil {
	log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ValidationResponse = armdatabox.ValidationResponse{
// 	Properties: &armdatabox.ValidationResponseProperties{
// 		IndividualResponseDetails: []armdatabox.ValidationInputResponseClassification{
// 			&armdatabox.DataTransferDetailsValidationResponseProperties{
// 				Error: &armdatabox.CloudError{
// 					AdditionalInfo: []*armdatabox.AdditionalErrorInfo{
// 					},
// 					Code: to.Ptr("Success"),
// 					Target: to.Ptr("KeyEncryptionKey"),
// 					Details: []*armdatabox.CloudError{
// 					},
// 				},
// 				ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateDataTransferDetails),
// 				Status: to.Ptr(armdatabox.ValidationStatusValid),
// 			},
// 			&armdatabox.AddressValidationProperties{
// 				Error: &armdatabox.CloudError{
// 					AdditionalInfo: []*armdatabox.AdditionalErrorInfo{
// 					},
// 					Code: to.Ptr("Success"),
// 					Target: to.Ptr("KeyEncryptionKey"),
// 					Details: []*armdatabox.CloudError{
// 					},
// 				},
// 				ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateAddress),
// 				AlternateAddresses: []*armdatabox.ShippingAddress{
// 					{
// 						AddressType: to.Ptr(armdatabox.AddressTypeNone),
// 						City: to.Ptr("XXXX XXXX"),
// 						Country: to.Ptr("XX"),
// 						PostalCode: to.Ptr("00000"),
// 						StateOrProvince: to.Ptr("XX"),
// 						StreetAddress1: to.Ptr("XXXX XXXX"),
// 						StreetAddress2: to.Ptr("XXXX XXXX"),
// 						StreetAddress3: to.Ptr(""),
// 				}},
// 				ValidationStatus: to.Ptr(armdatabox.AddressValidationStatusValid),
// 			},
// 			&armdatabox.SubscriptionIsAllowedToCreateJobValidationResponseProperties{
// 				Error: &armdatabox.CloudError{
// 					AdditionalInfo: []*armdatabox.AdditionalErrorInfo{
// 					},
// 					Code: to.Ptr("Success"),
// 					Target: to.Ptr("KeyEncryptionKey"),
// 					Details: []*armdatabox.CloudError{
// 					},
// 				},
// 				ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateSubscriptionIsAllowedToCreateJob),
// 				Status: to.Ptr(armdatabox.ValidationStatusValid),
// 			},
// 			&armdatabox.SKUAvailabilityValidationResponseProperties{
// 				Error: &armdatabox.CloudError{
// 					AdditionalInfo: []*armdatabox.AdditionalErrorInfo{
// 					},
// 					Code: to.Ptr("Success"),
// 					Target: to.Ptr("KeyEncryptionKey"),
// 					Details: []*armdatabox.CloudError{
// 					},
// 				},
// 				ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateSKUAvailability),
// 				Status: to.Ptr(armdatabox.ValidationStatusValid),
// 			},
// 			&armdatabox.CreateOrderLimitForSubscriptionValidationResponseProperties{
// 				Error: &armdatabox.CloudError{
// 					AdditionalInfo: []*armdatabox.AdditionalErrorInfo{
// 					},
// 					Code: to.Ptr("Success"),
// 					Target: to.Ptr("KeyEncryptionKey"),
// 					Details: []*armdatabox.CloudError{
// 					},
// 				},
// 				ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidateCreateOrderLimit),
// 				Status: to.Ptr(armdatabox.ValidationStatusValid),
// 			},
// 			&armdatabox.PreferencesValidationResponseProperties{
// 				Error: &armdatabox.CloudError{
// 					AdditionalInfo: []*armdatabox.AdditionalErrorInfo{
// 					},
// 					Code: to.Ptr("Success"),
// 					Target: to.Ptr("KeyEncryptionKey"),
// 					Details: []*armdatabox.CloudError{
// 					},
// 				},
// 				ValidationType: to.Ptr(armdatabox.ValidationInputDiscriminatorValidatePreferences),
// 				Status: to.Ptr(armdatabox.ValidationStatusValid),
// 		}},
// 		Status: to.Ptr(armdatabox.OverallValidationStatusAllValidToProceed),
// 	},
// }
Output:

type ServiceClientListAvailableSKUsByResourceGroupOptions

type ServiceClientListAvailableSKUsByResourceGroupOptions struct {
}

ServiceClientListAvailableSKUsByResourceGroupOptions contains the optional parameters for the ServiceClient.NewListAvailableSKUsByResourceGroupPager method.

type ServiceClientListAvailableSKUsByResourceGroupResponse

type ServiceClientListAvailableSKUsByResourceGroupResponse struct {
	// The available skus operation response.
	AvailableSKUsResult
}

ServiceClientListAvailableSKUsByResourceGroupResponse contains the response from method ServiceClient.NewListAvailableSKUsByResourceGroupPager.

type ServiceClientRegionConfigurationByResourceGroupOptions

type ServiceClientRegionConfigurationByResourceGroupOptions struct {
}

ServiceClientRegionConfigurationByResourceGroupOptions contains the optional parameters for the ServiceClient.RegionConfigurationByResourceGroup method.

type ServiceClientRegionConfigurationByResourceGroupResponse

type ServiceClientRegionConfigurationByResourceGroupResponse struct {
	// Configuration response specific to a region.
	RegionConfigurationResponse
}

ServiceClientRegionConfigurationByResourceGroupResponse contains the response from method ServiceClient.RegionConfigurationByResourceGroup.

type ServiceClientRegionConfigurationOptions

type ServiceClientRegionConfigurationOptions struct {
}

ServiceClientRegionConfigurationOptions contains the optional parameters for the ServiceClient.RegionConfiguration method.

type ServiceClientRegionConfigurationResponse

type ServiceClientRegionConfigurationResponse struct {
	// Configuration response specific to a region.
	RegionConfigurationResponse
}

ServiceClientRegionConfigurationResponse contains the response from method ServiceClient.RegionConfiguration.

type ServiceClientValidateAddressOptions

type ServiceClientValidateAddressOptions struct {
}

ServiceClientValidateAddressOptions contains the optional parameters for the ServiceClient.ValidateAddress method.

type ServiceClientValidateAddressResponse

type ServiceClientValidateAddressResponse struct {
	// Output of the address validation api.
	AddressValidationOutput
}

ServiceClientValidateAddressResponse contains the response from method ServiceClient.ValidateAddress.

type ServiceClientValidateInputsByResourceGroupOptions

type ServiceClientValidateInputsByResourceGroupOptions struct {
}

ServiceClientValidateInputsByResourceGroupOptions contains the optional parameters for the ServiceClient.ValidateInputsByResourceGroup method.

type ServiceClientValidateInputsByResourceGroupResponse

type ServiceClientValidateInputsByResourceGroupResponse struct {
	// Response of pre job creation validations.
	ValidationResponse
}

ServiceClientValidateInputsByResourceGroupResponse contains the response from method ServiceClient.ValidateInputsByResourceGroup.

type ServiceClientValidateInputsOptions

type ServiceClientValidateInputsOptions struct {
}

ServiceClientValidateInputsOptions contains the optional parameters for the ServiceClient.ValidateInputs method.

type ServiceClientValidateInputsResponse

type ServiceClientValidateInputsResponse struct {
	// Response of pre job creation validations.
	ValidationResponse
}

ServiceClientValidateInputsResponse contains the response from method ServiceClient.ValidateInputs.

type ShareCredentialDetails

type ShareCredentialDetails struct {
	// READ-ONLY; Password for the share.
	Password *string

	// READ-ONLY; Name of the share.
	ShareName *string

	// READ-ONLY; Type of the share.
	ShareType *ShareDestinationFormatType

	// READ-ONLY; Access protocols supported on the device.
	SupportedAccessProtocols []*AccessProtocol

	// READ-ONLY; User name for the share.
	UserName *string
}

ShareCredentialDetails - Credential details of the shares in account.

func (ShareCredentialDetails) MarshalJSON

func (s ShareCredentialDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ShareCredentialDetails.

func (*ShareCredentialDetails) UnmarshalJSON

func (s *ShareCredentialDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ShareCredentialDetails.

type ShareDestinationFormatType

type ShareDestinationFormatType string

ShareDestinationFormatType - Type of the share.

const (
	// ShareDestinationFormatTypeAzureFile - Azure storage file format.
	ShareDestinationFormatTypeAzureFile ShareDestinationFormatType = "AzureFile"
	// ShareDestinationFormatTypeBlockBlob - Azure storage block blob format.
	ShareDestinationFormatTypeBlockBlob ShareDestinationFormatType = "BlockBlob"
	// ShareDestinationFormatTypeHCS - Storsimple data format.
	ShareDestinationFormatTypeHCS ShareDestinationFormatType = "HCS"
	// ShareDestinationFormatTypeManagedDisk - Azure Compute Disk.
	ShareDestinationFormatTypeManagedDisk ShareDestinationFormatType = "ManagedDisk"
	// ShareDestinationFormatTypePageBlob - Azure storage page blob format.
	ShareDestinationFormatTypePageBlob ShareDestinationFormatType = "PageBlob"
	// ShareDestinationFormatTypeUnknownType - Unknown format.
	ShareDestinationFormatTypeUnknownType ShareDestinationFormatType = "UnknownType"
)

func PossibleShareDestinationFormatTypeValues

func PossibleShareDestinationFormatTypeValues() []ShareDestinationFormatType

PossibleShareDestinationFormatTypeValues returns the possible values for the ShareDestinationFormatType const type.

type ShipmentPickUpRequest

type ShipmentPickUpRequest struct {
	// REQUIRED; Maximum date before which the pick up should commence, this must be in local time of pick up area.
	EndTime *time.Time

	// REQUIRED; Shipment Location in the pickup place. Eg.front desk
	ShipmentLocation *string

	// REQUIRED; Minimum date after which the pick up should commence, this must be in local time of pick up area.
	StartTime *time.Time
}

ShipmentPickUpRequest - Shipment pick up request details.

func (ShipmentPickUpRequest) MarshalJSON

func (s ShipmentPickUpRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ShipmentPickUpRequest.

func (*ShipmentPickUpRequest) UnmarshalJSON

func (s *ShipmentPickUpRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ShipmentPickUpRequest.

type ShipmentPickUpResponse

type ShipmentPickUpResponse struct {
	// READ-ONLY; Confirmation number for the pick up request.
	ConfirmationNumber *string

	// READ-ONLY; Time by which shipment should be ready for pick up, this is in local time of pick up area.
	ReadyByTime *time.Time
}

ShipmentPickUpResponse - Shipment pick up response.

func (ShipmentPickUpResponse) MarshalJSON

func (s ShipmentPickUpResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ShipmentPickUpResponse.

func (*ShipmentPickUpResponse) UnmarshalJSON

func (s *ShipmentPickUpResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ShipmentPickUpResponse.

type ShippingAddress

type ShippingAddress struct {
	// REQUIRED; Name of the Country.
	Country *string

	// REQUIRED; Street Address line 1.
	StreetAddress1 *string

	// Type of address.
	AddressType *AddressType

	// Name of the City.
	City *string

	// Name of the company.
	CompanyName *string

	// Postal code.
	PostalCode *string

	// Flag to indicate if customer has chosen to skip default address validation
	SkipAddressValidation *bool

	// Name of the State or Province.
	StateOrProvince *string

	// Street Address line 2.
	StreetAddress2 *string

	// Street Address line 3.
	StreetAddress3 *string

	// Tax Identification Number
	TaxIdentificationNumber *string

	// Extended Zip Code.
	ZipExtendedCode *string
}

ShippingAddress - Shipping address where customer wishes to receive the device.

func (ShippingAddress) MarshalJSON

func (s ShippingAddress) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ShippingAddress.

func (*ShippingAddress) UnmarshalJSON

func (s *ShippingAddress) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ShippingAddress.

type StageName

type StageName string

StageName - Name of the stage which is in progress.

const (
	// StageNameAborted - Order has been aborted.
	StageNameAborted StageName = "Aborted"
	// StageNameAtAzureDC - Device has been received at Azure datacenter from the user.
	StageNameAtAzureDC StageName = "AtAzureDC"
	// StageNameAwaitingShipmentDetails - Awaiting shipment details of device from customer.
	StageNameAwaitingShipmentDetails StageName = "AwaitingShipmentDetails"
	// StageNameCancelled - Order has been cancelled.
	StageNameCancelled StageName = "Cancelled"
	// StageNameCompleted - Order has completed.
	StageNameCompleted StageName = "Completed"
	// StageNameCompletedWithErrors - Order has completed with errors.
	StageNameCompletedWithErrors StageName = "CompletedWithErrors"
	// StageNameCompletedWithWarnings - Order has completed with warnings.
	StageNameCompletedWithWarnings StageName = "CompletedWithWarnings"
	// StageNameCreated - Job created by the customer.
	StageNameCreated StageName = "Created"
	// StageNameDataCopy - Data copy from the device at Azure datacenter.
	StageNameDataCopy StageName = "DataCopy"
	// StageNameDelivered - Device has been delivered to the user of the order.
	StageNameDelivered StageName = "Delivered"
	// StageNameDeviceOrdered - An order has been created.
	StageNameDeviceOrdered StageName = "DeviceOrdered"
	// StageNameDevicePrepared - A device has been prepared for the order.
	StageNameDevicePrepared StageName = "DevicePrepared"
	// StageNameDispatched - Device has been dispatched to the user of the order.
	StageNameDispatched StageName = "Dispatched"
	// StageNameFailedIssueDetectedAtAzureDC - Order has failed due to issue detected at Azure datacenter.
	StageNameFailedIssueDetectedAtAzureDC StageName = "Failed_IssueDetectedAtAzureDC"
	// StageNameFailedIssueReportedAtCustomer - Order has failed due to issue reported by user.
	StageNameFailedIssueReportedAtCustomer StageName = "Failed_IssueReportedAtCustomer"
	// StageNamePickedUp - Device has been picked up from user and in transit to Azure datacenter.
	StageNamePickedUp StageName = "PickedUp"
	// StageNamePreparingToShipFromAzureDC - Preparing the device to ship to customer.
	StageNamePreparingToShipFromAzureDC StageName = "PreparingToShipFromAzureDC"
	// StageNameReadyToDispatchFromAzureDC - Device is ready to be handed to customer from Azure DC.
	StageNameReadyToDispatchFromAzureDC StageName = "ReadyToDispatchFromAzureDC"
	// StageNameReadyToReceiveAtAzureDC - Device can be dropped off at Azure DC.
	StageNameReadyToReceiveAtAzureDC StageName = "ReadyToReceiveAtAzureDC"
	// StageNameShippedToAzureDC - User shipped the device to AzureDC.
	StageNameShippedToAzureDC StageName = "ShippedToAzureDC"
	// StageNameShippedToCustomer - Shipped the device to customer.
	StageNameShippedToCustomer StageName = "ShippedToCustomer"
)

func PossibleStageNameValues

func PossibleStageNameValues() []StageName

PossibleStageNameValues returns the possible values for the StageName const type.

type StageStatus

type StageStatus string

StageStatus - Holds the device erasure completion status

const (
	// StageStatusCancelled - Stage has been cancelled.
	StageStatusCancelled StageStatus = "Cancelled"
	// StageStatusCancelling - Stage is cancelling.
	StageStatusCancelling StageStatus = "Cancelling"
	// StageStatusCustomerActionPerformed - Stage has performed customer action for clean up.
	StageStatusCustomerActionPerformed StageStatus = "CustomerActionPerformed"
	// StageStatusCustomerActionPerformedForCleanUp - Stage has performed customer action for clean up.
	StageStatusCustomerActionPerformedForCleanUp StageStatus = "CustomerActionPerformedForCleanUp"
	// StageStatusFailed - Stage has failed.
	StageStatusFailed StageStatus = "Failed"
	// StageStatusInProgress - Stage is in progress.
	StageStatusInProgress StageStatus = "InProgress"
	// StageStatusNone - No status available yet.
	StageStatusNone StageStatus = "None"
	// StageStatusSucceeded - Stage has succeeded.
	StageStatusSucceeded StageStatus = "Succeeded"
	// StageStatusSucceededWithErrors - Stage has succeeded with errors.
	StageStatusSucceededWithErrors StageStatus = "SucceededWithErrors"
	// StageStatusSucceededWithWarnings - Stage has succeeded with warnings.
	StageStatusSucceededWithWarnings StageStatus = "SucceededWithWarnings"
	// StageStatusWaitingForCustomerAction - Stage is stuck until customer takes some action.
	StageStatusWaitingForCustomerAction StageStatus = "WaitingForCustomerAction"
	// StageStatusWaitingForCustomerActionForCleanUp - Stage is waiting for customer action for clean up.
	StageStatusWaitingForCustomerActionForCleanUp StageStatus = "WaitingForCustomerActionForCleanUp"
	// StageStatusWaitingForCustomerActionForKek - Stage is waiting for customer action for kek action items.
	StageStatusWaitingForCustomerActionForKek StageStatus = "WaitingForCustomerActionForKek"
)

func PossibleStageStatusValues

func PossibleStageStatusValues() []StageStatus

PossibleStageStatusValues returns the possible values for the StageStatus const type.

type StorageAccountDetails

type StorageAccountDetails struct {
	// REQUIRED; Account Type of the data to be transferred.
	DataAccountType *DataAccountType

	// REQUIRED; Storage Account Resource Id.
	StorageAccountID *string

	// Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If
	// this is not passed, the service will generate password itself. This will not be
	// returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must
	// have at least one uppercase alphabet, one number and one special character.
	// Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters
	// : @#-$%^!+=;:_()]+
	SharePassword *string
}

StorageAccountDetails - Details for the storage account.

func (*StorageAccountDetails) GetDataAccountDetails

func (s *StorageAccountDetails) GetDataAccountDetails() *DataAccountDetails

GetDataAccountDetails implements the DataAccountDetailsClassification interface for type StorageAccountDetails.

func (StorageAccountDetails) MarshalJSON

func (s StorageAccountDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type StorageAccountDetails.

func (*StorageAccountDetails) UnmarshalJSON

func (s *StorageAccountDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type StorageAccountDetails.

type SubscriptionIsAllowedToCreateJobValidationRequest

type SubscriptionIsAllowedToCreateJobValidationRequest struct {
	// REQUIRED; Identifies the type of validation request.
	ValidationType *ValidationInputDiscriminator
}

SubscriptionIsAllowedToCreateJobValidationRequest - Request to validate subscription permission to create jobs.

func (*SubscriptionIsAllowedToCreateJobValidationRequest) GetValidationInputRequest

GetValidationInputRequest implements the ValidationInputRequestClassification interface for type SubscriptionIsAllowedToCreateJobValidationRequest.

func (SubscriptionIsAllowedToCreateJobValidationRequest) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type SubscriptionIsAllowedToCreateJobValidationRequest.

func (*SubscriptionIsAllowedToCreateJobValidationRequest) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type SubscriptionIsAllowedToCreateJobValidationRequest.

type SubscriptionIsAllowedToCreateJobValidationResponseProperties

type SubscriptionIsAllowedToCreateJobValidationResponseProperties struct {
	// REQUIRED; Identifies the type of validation response.
	ValidationType *ValidationInputDiscriminator

	// READ-ONLY; Error code and message of validation response.
	Error *CloudError

	// READ-ONLY; Validation status of subscription permission to create job.
	Status *ValidationStatus
}

SubscriptionIsAllowedToCreateJobValidationResponseProperties - Properties of subscription permission to create job validation response.

func (*SubscriptionIsAllowedToCreateJobValidationResponseProperties) GetValidationInputResponse

GetValidationInputResponse implements the ValidationInputResponseClassification interface for type SubscriptionIsAllowedToCreateJobValidationResponseProperties.

func (SubscriptionIsAllowedToCreateJobValidationResponseProperties) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type SubscriptionIsAllowedToCreateJobValidationResponseProperties.

func (*SubscriptionIsAllowedToCreateJobValidationResponseProperties) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type SubscriptionIsAllowedToCreateJobValidationResponseProperties.

type SystemData

type SystemData struct {
	// READ-ONLY; The timestamp of resource creation (UTC)
	CreatedAt *time.Time

	// READ-ONLY; A string identifier for the identity that created the resource
	CreatedBy *string

	// READ-ONLY; The type of identity that created the resource: user, application, managedIdentity
	CreatedByType *string

	// READ-ONLY; The timestamp of resource last modification (UTC)
	LastModifiedAt *time.Time

	// READ-ONLY; A string identifier for the identity that last modified the resource
	LastModifiedBy *string

	// READ-ONLY; The type of identity that last modified the resource: user, application, managedIdentity
	LastModifiedByType *string
}

SystemData - Provides details about resource creation and update time

func (SystemData) MarshalJSON

func (s SystemData) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SystemData.

func (*SystemData) UnmarshalJSON

func (s *SystemData) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SystemData.

type TransferAllDetails

type TransferAllDetails struct {
	// REQUIRED; Type of the account of data
	DataAccountType *DataAccountType

	// To indicate if all Azure blobs have to be transferred
	TransferAllBlobs *bool

	// To indicate if all Azure Files have to be transferred
	TransferAllFiles *bool
}

TransferAllDetails - Details to transfer all data.

func (TransferAllDetails) MarshalJSON

func (t TransferAllDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TransferAllDetails.

func (*TransferAllDetails) UnmarshalJSON

func (t *TransferAllDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TransferAllDetails.

type TransferConfiguration

type TransferConfiguration struct {
	// REQUIRED; Type of the configuration for transfer.
	TransferConfigurationType *TransferConfigurationType

	// Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is
	// given as TransferAll
	TransferAllDetails *TransferConfigurationTransferAllDetails

	// Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as
	// TransferUsingFilter.
	TransferFilterDetails *TransferConfigurationTransferFilterDetails
}

TransferConfiguration - Configuration for defining the transfer of data.

func (TransferConfiguration) MarshalJSON

func (t TransferConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TransferConfiguration.

func (*TransferConfiguration) UnmarshalJSON

func (t *TransferConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TransferConfiguration.

type TransferConfigurationTransferAllDetails

type TransferConfigurationTransferAllDetails struct {
	// Details to transfer all data.
	Include *TransferAllDetails
}

TransferConfigurationTransferAllDetails - Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll

func (TransferConfigurationTransferAllDetails) MarshalJSON

func (t TransferConfigurationTransferAllDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TransferConfigurationTransferAllDetails.

func (*TransferConfigurationTransferAllDetails) UnmarshalJSON

func (t *TransferConfigurationTransferAllDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TransferConfigurationTransferAllDetails.

type TransferConfigurationTransferFilterDetails

type TransferConfigurationTransferFilterDetails struct {
	// Details of the filtering the transfer of data.
	Include *TransferFilterDetails
}

TransferConfigurationTransferFilterDetails - Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter.

func (TransferConfigurationTransferFilterDetails) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type TransferConfigurationTransferFilterDetails.

func (*TransferConfigurationTransferFilterDetails) UnmarshalJSON

func (t *TransferConfigurationTransferFilterDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TransferConfigurationTransferFilterDetails.

type TransferConfigurationType

type TransferConfigurationType string

TransferConfigurationType - Type of the configuration for transfer.

const (
	// TransferConfigurationTypeTransferAll - Transfer all the data.
	TransferConfigurationTypeTransferAll TransferConfigurationType = "TransferAll"
	// TransferConfigurationTypeTransferUsingFilter - Transfer using filter.
	TransferConfigurationTypeTransferUsingFilter TransferConfigurationType = "TransferUsingFilter"
)

func PossibleTransferConfigurationTypeValues

func PossibleTransferConfigurationTypeValues() []TransferConfigurationType

PossibleTransferConfigurationTypeValues returns the possible values for the TransferConfigurationType const type.

type TransferFilterDetails

type TransferFilterDetails struct {
	// REQUIRED; Type of the account of data.
	DataAccountType *DataAccountType

	// Filter details to transfer Azure files.
	AzureFileFilterDetails *AzureFileFilterDetails

	// Filter details to transfer blobs.
	BlobFilterDetails *BlobFilterDetails

	// Details of the filter files to be used for data transfer.
	FilterFileDetails []*FilterFileDetails
}

TransferFilterDetails - Details of the filtering the transfer of data.

func (TransferFilterDetails) MarshalJSON

func (t TransferFilterDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TransferFilterDetails.

func (*TransferFilterDetails) UnmarshalJSON

func (t *TransferFilterDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TransferFilterDetails.

type TransferType

type TransferType string

TransferType - Type of the transfer.

const (
	// TransferTypeExportFromAzure - Export data from azure.
	TransferTypeExportFromAzure TransferType = "ExportFromAzure"
	// TransferTypeImportToAzure - Import data to azure.
	TransferTypeImportToAzure TransferType = "ImportToAzure"
)

func PossibleTransferTypeValues

func PossibleTransferTypeValues() []TransferType

PossibleTransferTypeValues returns the possible values for the TransferType const type.

type TransportAvailabilityDetails

type TransportAvailabilityDetails struct {
	// READ-ONLY; Transport Shipment Type supported for given region.
	ShipmentType *TransportShipmentTypes
}

TransportAvailabilityDetails - Transport options availability details for given region.

func (TransportAvailabilityDetails) MarshalJSON

func (t TransportAvailabilityDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TransportAvailabilityDetails.

func (*TransportAvailabilityDetails) UnmarshalJSON

func (t *TransportAvailabilityDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TransportAvailabilityDetails.

type TransportAvailabilityRequest

type TransportAvailabilityRequest struct {
	// Type of the device.
	SKUName *SKUName
}

TransportAvailabilityRequest - Request body to get the transport availability for given sku.

func (TransportAvailabilityRequest) MarshalJSON

func (t TransportAvailabilityRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TransportAvailabilityRequest.

func (*TransportAvailabilityRequest) UnmarshalJSON

func (t *TransportAvailabilityRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TransportAvailabilityRequest.

type TransportAvailabilityResponse

type TransportAvailabilityResponse struct {
	// READ-ONLY; List of transport availability details for given region
	TransportAvailabilityDetails []*TransportAvailabilityDetails
}

TransportAvailabilityResponse - Transport options available for given sku in a region.

func (TransportAvailabilityResponse) MarshalJSON

func (t TransportAvailabilityResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TransportAvailabilityResponse.

func (*TransportAvailabilityResponse) UnmarshalJSON

func (t *TransportAvailabilityResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TransportAvailabilityResponse.

type TransportPreferences

type TransportPreferences struct {
	// REQUIRED; Indicates Shipment Logistics type that the customer preferred.
	PreferredShipmentType *TransportShipmentTypes

	// READ-ONLY; Read only property which indicates whether transport preferences has been updated or not after device is prepared.
	IsUpdated *bool
}

TransportPreferences - Preferences related to the shipment logistics of the sku

func (TransportPreferences) MarshalJSON

func (t TransportPreferences) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TransportPreferences.

func (*TransportPreferences) UnmarshalJSON

func (t *TransportPreferences) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TransportPreferences.

type TransportShipmentTypes

type TransportShipmentTypes string

TransportShipmentTypes - Transport Shipment Type supported for given region.

const (
	// TransportShipmentTypesCustomerManaged - Shipment Logistics is handled by the customer.
	TransportShipmentTypesCustomerManaged TransportShipmentTypes = "CustomerManaged"
	// TransportShipmentTypesMicrosoftManaged - Shipment Logistics is handled by Microsoft.
	TransportShipmentTypesMicrosoftManaged TransportShipmentTypes = "MicrosoftManaged"
)

func PossibleTransportShipmentTypesValues

func PossibleTransportShipmentTypesValues() []TransportShipmentTypes

PossibleTransportShipmentTypesValues returns the possible values for the TransportShipmentTypes const type.

type UnencryptedCredentials

type UnencryptedCredentials struct {
	// READ-ONLY; Name of the job.
	JobName *string

	// READ-ONLY; Secrets related to this job.
	JobSecrets CommonJobSecretsClassification
}

UnencryptedCredentials - Unencrypted credentials for accessing device.

func (UnencryptedCredentials) MarshalJSON

func (u UnencryptedCredentials) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UnencryptedCredentials.

func (*UnencryptedCredentials) UnmarshalJSON

func (u *UnencryptedCredentials) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type UnencryptedCredentials.

type UnencryptedCredentialsList

type UnencryptedCredentialsList struct {
	// Link for the next set of unencrypted credentials.
	NextLink *string

	// List of unencrypted credentials.
	Value []*UnencryptedCredentials
}

UnencryptedCredentialsList - List of unencrypted credentials for accessing device.

func (UnencryptedCredentialsList) MarshalJSON

func (u UnencryptedCredentialsList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UnencryptedCredentialsList.

func (*UnencryptedCredentialsList) UnmarshalJSON

func (u *UnencryptedCredentialsList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type UnencryptedCredentialsList.

type UpdateJobDetails

type UpdateJobDetails struct {
	// Contact details for notification and shipping.
	ContactDetails *ContactDetails

	// Key encryption key for the job.
	KeyEncryptionKey *KeyEncryptionKey

	// Preferences related to the order
	Preferences *Preferences

	// Return package details of job.
	ReturnToCustomerPackageDetails *PackageCarrierDetails

	// Reverse Shipping Address and contact details for a job.
	ReverseShippingDetails *ReverseShippingDetails

	// Shipping address of the customer.
	ShippingAddress *ShippingAddress
}

UpdateJobDetails - Job details for update.

func (UpdateJobDetails) MarshalJSON

func (u UpdateJobDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UpdateJobDetails.

func (*UpdateJobDetails) UnmarshalJSON

func (u *UpdateJobDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type UpdateJobDetails.

type UpdateJobProperties

type UpdateJobProperties struct {
	// Details of a job to be updated.
	Details *UpdateJobDetails
}

UpdateJobProperties - Job Properties for update

func (UpdateJobProperties) MarshalJSON

func (u UpdateJobProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UpdateJobProperties.

func (*UpdateJobProperties) UnmarshalJSON

func (u *UpdateJobProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type UpdateJobProperties.

type UserAssignedIdentity

type UserAssignedIdentity struct {
	// READ-ONLY; The client id of user assigned identity.
	ClientID *string

	// READ-ONLY; The principal id of user assigned identity.
	PrincipalID *string
}

UserAssignedIdentity - Class defining User assigned identity details.

func (UserAssignedIdentity) MarshalJSON

func (u UserAssignedIdentity) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UserAssignedIdentity.

func (*UserAssignedIdentity) UnmarshalJSON

func (u *UserAssignedIdentity) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type UserAssignedIdentity.

type UserAssignedProperties

type UserAssignedProperties struct {
	// Arm resource id for user assigned identity to be used to fetch MSI token.
	ResourceID *string
}

UserAssignedProperties - User assigned identity properties.

func (UserAssignedProperties) MarshalJSON

func (u UserAssignedProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UserAssignedProperties.

func (*UserAssignedProperties) UnmarshalJSON

func (u *UserAssignedProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type UserAssignedProperties.

type ValidateAddress

type ValidateAddress struct {
	// REQUIRED; Device type to be used for the job.
	DeviceType *SKUName

	// REQUIRED; Shipping address of the customer.
	ShippingAddress *ShippingAddress

	// REQUIRED; Identifies the type of validation request.
	ValidationType *ValidationInputDiscriminator

	// Preferences related to the shipment logistics of the sku.
	TransportPreferences *TransportPreferences
}

ValidateAddress - The requirements to validate customer address where the device needs to be shipped.

func (*ValidateAddress) GetValidationInputRequest

func (v *ValidateAddress) GetValidationInputRequest() *ValidationInputRequest

GetValidationInputRequest implements the ValidationInputRequestClassification interface for type ValidateAddress.

func (ValidateAddress) MarshalJSON

func (v ValidateAddress) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ValidateAddress.

func (*ValidateAddress) UnmarshalJSON

func (v *ValidateAddress) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ValidateAddress.

type ValidationInputDiscriminator

type ValidationInputDiscriminator string

ValidationInputDiscriminator - Identifies the type of validation request.

const (
	// ValidationInputDiscriminatorValidateAddress - Identify request and response of address validation.
	ValidationInputDiscriminatorValidateAddress ValidationInputDiscriminator = "ValidateAddress"
	// ValidationInputDiscriminatorValidateCreateOrderLimit - Identify request and response of create order limit for subscription
	// validation.
	ValidationInputDiscriminatorValidateCreateOrderLimit ValidationInputDiscriminator = "ValidateCreateOrderLimit"
	// ValidationInputDiscriminatorValidateDataTransferDetails - Identify request and response of data transfer details validation.
	ValidationInputDiscriminatorValidateDataTransferDetails ValidationInputDiscriminator = "ValidateDataTransferDetails"
	// ValidationInputDiscriminatorValidatePreferences - Identify request and response of preference validation.
	ValidationInputDiscriminatorValidatePreferences ValidationInputDiscriminator = "ValidatePreferences"
	// ValidationInputDiscriminatorValidateSKUAvailability - Identify request and response of active job limit for sku availability.
	ValidationInputDiscriminatorValidateSKUAvailability ValidationInputDiscriminator = "ValidateSkuAvailability"
	// ValidationInputDiscriminatorValidateSubscriptionIsAllowedToCreateJob - Identify request and response for validation of
	// subscription permission to create job.
	ValidationInputDiscriminatorValidateSubscriptionIsAllowedToCreateJob ValidationInputDiscriminator = "ValidateSubscriptionIsAllowedToCreateJob"
)

func PossibleValidationInputDiscriminatorValues

func PossibleValidationInputDiscriminatorValues() []ValidationInputDiscriminator

PossibleValidationInputDiscriminatorValues returns the possible values for the ValidationInputDiscriminator const type.

type ValidationInputRequest

type ValidationInputRequest struct {
	// REQUIRED; Identifies the type of validation request.
	ValidationType *ValidationInputDiscriminator
}

ValidationInputRequest - Minimum fields that must be present in any type of validation request.

func (*ValidationInputRequest) GetValidationInputRequest

func (v *ValidationInputRequest) GetValidationInputRequest() *ValidationInputRequest

GetValidationInputRequest implements the ValidationInputRequestClassification interface for type ValidationInputRequest.

func (ValidationInputRequest) MarshalJSON

func (v ValidationInputRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ValidationInputRequest.

func (*ValidationInputRequest) UnmarshalJSON

func (v *ValidationInputRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ValidationInputRequest.

type ValidationInputRequestClassification

type ValidationInputRequestClassification interface {
	// GetValidationInputRequest returns the ValidationInputRequest content of the underlying type.
	GetValidationInputRequest() *ValidationInputRequest
}

ValidationInputRequestClassification provides polymorphic access to related types. Call the interface's GetValidationInputRequest() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *CreateOrderLimitForSubscriptionValidationRequest, *DataTransferDetailsValidationRequest, *PreferencesValidationRequest, - *SKUAvailabilityValidationRequest, *SubscriptionIsAllowedToCreateJobValidationRequest, *ValidateAddress, *ValidationInputRequest

type ValidationInputResponse

type ValidationInputResponse struct {
	// REQUIRED; Identifies the type of validation response.
	ValidationType *ValidationInputDiscriminator

	// READ-ONLY; Error code and message of validation response.
	Error *CloudError
}

ValidationInputResponse - Minimum properties that should be present in each individual validation response.

func (*ValidationInputResponse) GetValidationInputResponse

func (v *ValidationInputResponse) GetValidationInputResponse() *ValidationInputResponse

GetValidationInputResponse implements the ValidationInputResponseClassification interface for type ValidationInputResponse.

func (ValidationInputResponse) MarshalJSON

func (v ValidationInputResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ValidationInputResponse.

func (*ValidationInputResponse) UnmarshalJSON

func (v *ValidationInputResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ValidationInputResponse.

type ValidationInputResponseClassification

type ValidationInputResponseClassification interface {
	// GetValidationInputResponse returns the ValidationInputResponse content of the underlying type.
	GetValidationInputResponse() *ValidationInputResponse
}

ValidationInputResponseClassification provides polymorphic access to related types. Call the interface's GetValidationInputResponse() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *AddressValidationProperties, *CreateOrderLimitForSubscriptionValidationResponseProperties, *DataTransferDetailsValidationResponseProperties, - *PreferencesValidationResponseProperties, *SKUAvailabilityValidationResponseProperties, *SubscriptionIsAllowedToCreateJobValidationResponseProperties, - *ValidationInputResponse

type ValidationRequest

type ValidationRequest struct {
	// REQUIRED; List of request details contain validationType and its request as key and value respectively.
	IndividualRequestDetails []ValidationInputRequestClassification

	// CONSTANT; Identify the nature of validation.
	// Field has constant value "JobCreationValidation", any specified value is ignored.
	ValidationCategory *string
}

ValidationRequest - Minimum request requirement of any validation category.

func (*ValidationRequest) GetValidationRequest

func (v *ValidationRequest) GetValidationRequest() *ValidationRequest

GetValidationRequest implements the ValidationRequestClassification interface for type ValidationRequest.

func (ValidationRequest) MarshalJSON

func (v ValidationRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ValidationRequest.

func (*ValidationRequest) UnmarshalJSON

func (v *ValidationRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ValidationRequest.

type ValidationRequestClassification

type ValidationRequestClassification interface {
	// GetValidationRequest returns the ValidationRequest content of the underlying type.
	GetValidationRequest() *ValidationRequest
}

ValidationRequestClassification provides polymorphic access to related types. Call the interface's GetValidationRequest() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *CreateJobValidations, *ValidationRequest

type ValidationResponse

type ValidationResponse struct {
	// READ-ONLY; Properties of pre job creation validation response.
	Properties *ValidationResponseProperties
}

ValidationResponse - Response of pre job creation validations.

func (ValidationResponse) MarshalJSON

func (v ValidationResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ValidationResponse.

func (*ValidationResponse) UnmarshalJSON

func (v *ValidationResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ValidationResponse.

type ValidationResponseProperties

type ValidationResponseProperties struct {
	// READ-ONLY; List of response details contain validationType and its response as key and value respectively.
	IndividualResponseDetails []ValidationInputResponseClassification

	// READ-ONLY; Overall validation status.
	Status *OverallValidationStatus
}

ValidationResponseProperties - Properties of pre job creation validation response.

func (ValidationResponseProperties) MarshalJSON

func (v ValidationResponseProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ValidationResponseProperties.

func (*ValidationResponseProperties) UnmarshalJSON

func (v *ValidationResponseProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ValidationResponseProperties.

type ValidationStatus

type ValidationStatus string

ValidationStatus - Create order limit validation status.

const (
	// ValidationStatusInvalid - Validation is not successful
	ValidationStatusInvalid ValidationStatus = "Invalid"
	// ValidationStatusSkipped - Validation is skipped
	ValidationStatusSkipped ValidationStatus = "Skipped"
	// ValidationStatusValid - Validation is successful
	ValidationStatusValid ValidationStatus = "Valid"
)

func PossibleValidationStatusValues

func PossibleValidationStatusValues() []ValidationStatus

PossibleValidationStatusValues returns the possible values for the ValidationStatus const type.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL