armdatabox

package module
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2023 License: MIT Imports: 14 Imported by: 5

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()

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type APIError.

func (*APIError) UnmarshalJSON added in v1.1.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type APIError.

type AccessProtocol

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

func PossibleAccessProtocolValues

func PossibleAccessProtocolValues() []AccessProtocol

PossibleAccessProtocolValues returns the possible values for the AccessProtocol const type.

type AccountCopyLogDetails added in v0.2.0

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 added in v0.2.0

func (a *AccountCopyLogDetails) GetCopyLogDetails() *CopyLogDetails

GetCopyLogDetails implements the CopyLogDetailsClassification interface for type AccountCopyLogDetails.

func (AccountCopyLogDetails) MarshalJSON added in v0.2.0

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

MarshalJSON implements the json.Marshaller interface for type AccountCopyLogDetails.

func (*AccountCopyLogDetails) UnmarshalJSON added in v0.2.0

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 added in v1.1.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type AdditionalErrorInfo.

func (*AdditionalErrorInfo) UnmarshalJSON added in v1.1.0

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 (
	// AddressTypeNone - Address type not known.
	AddressTypeNone AddressType = "None"
	// AddressTypeResidential - Residential Address.
	AddressTypeResidential AddressType = "Residential"
	// AddressTypeCommercial - Commercial Address.
	AddressTypeCommercial AddressType = "Commercial"
)

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type AddressValidationOutput.

func (*AddressValidationOutput) UnmarshalJSON added in v1.1.0

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 added in v0.2.0

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

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type ApplianceNetworkConfiguration.

func (*ApplianceNetworkConfiguration) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type ArmBaseObject.

func (*ArmBaseObject) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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 added in v1.1.0

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 added in v1.1.0

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 added in v1.1.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type CancellationReason.

func (*CancellationReason) UnmarshalJSON added in v1.1.0

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"
	// ClassDiscriminatorDataBoxDisk - Data Box Disk orders.
	ClassDiscriminatorDataBoxDisk ClassDiscriminator = "DataBoxDisk"
	// ClassDiscriminatorDataBoxHeavy - Data Box Heavy orders.
	ClassDiscriminatorDataBoxHeavy ClassDiscriminator = "DataBoxHeavy"
	// ClassDiscriminatorDataBoxCustomerDisk - Data Box Customer Disk orders.
	ClassDiscriminatorDataBoxCustomerDisk ClassDiscriminator = "DataBoxCustomerDisk"
)

func PossibleClassDiscriminatorValues

func PossibleClassDiscriminatorValues() []ClassDiscriminator

PossibleClassDiscriminatorValues returns the possible values for the ClassDiscriminator const type.

type ClientFactory added in v1.1.0

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 added in v1.1.0

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 added in v1.1.0

func (c *ClientFactory) NewJobsClient() *JobsClient

func (*ClientFactory) NewManagementClient added in v1.1.0

func (c *ClientFactory) NewManagementClient() *ManagementClient

func (*ClientFactory) NewOperationsClient added in v1.1.0

func (c *ClientFactory) NewOperationsClient() *OperationsClient

func (*ClientFactory) NewServiceClient added in v1.1.0

func (c *ClientFactory) NewServiceClient() *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 added in v1.1.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type CloudError.

type CommonJobDetails added in v0.2.0

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

	// 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 added in v0.2.0

func (c *CommonJobDetails) GetCommonJobDetails() *CommonJobDetails

GetCommonJobDetails implements the CommonJobDetailsClassification interface for type CommonJobDetails.

func (CommonJobDetails) MarshalJSON added in v0.2.0

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

MarshalJSON implements the json.Marshaller interface for type CommonJobDetails.

func (*CommonJobDetails) UnmarshalJSON added in v0.2.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type CommonJobDetails.

type CommonJobDetailsClassification added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

func (c *CommonJobSecrets) GetCommonJobSecrets() *CommonJobSecrets

GetCommonJobSecrets implements the CommonJobSecretsClassification interface for type CommonJobSecrets.

func (CommonJobSecrets) MarshalJSON added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type CommonJobSecrets.

func (*CommonJobSecrets) UnmarshalJSON added in v1.1.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type CommonJobSecrets.

type CommonJobSecretsClassification added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

func (c *CommonScheduleAvailabilityRequest) GetCommonScheduleAvailabilityRequest() *CommonScheduleAvailabilityRequest

GetCommonScheduleAvailabilityRequest implements the CommonScheduleAvailabilityRequestClassification interface for type CommonScheduleAvailabilityRequest.

func (CommonScheduleAvailabilityRequest) MarshalJSON added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type CommonScheduleAvailabilityRequest.

func (*CommonScheduleAvailabilityRequest) UnmarshalJSON added in v1.1.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type CommonScheduleAvailabilityRequest.

type CommonScheduleAvailabilityRequestClassification added in v0.2.0

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 added in v1.1.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type ContactDetails.

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 added in v1.1.0

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; 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; 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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type CopyProgress.

func (*CopyProgress) UnmarshalJSON added in v1.1.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

func (c *CustomerDiskCopyLogDetails) GetCopyLogDetails() *CopyLogDetails

GetCopyLogDetails implements the CopyLogDetailsClassification interface for type CustomerDiskCopyLogDetails.

func (CustomerDiskCopyLogDetails) MarshalJSON added in v0.2.0

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

MarshalJSON implements the json.Marshaller interface for type CustomerDiskCopyLogDetails.

func (*CustomerDiskCopyLogDetails) UnmarshalJSON added in v0.2.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type CustomerDiskCopyLogDetails.

type CustomerDiskCopyProgress added in v0.2.0

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

	// 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; 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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type CustomerDiskCopyProgress.

func (*CustomerDiskCopyProgress) UnmarshalJSON added in v1.1.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type CustomerDiskCopyProgress.

type CustomerDiskJobDetails added in v0.2.0

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

	// 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 added in v0.2.0

func (c *CustomerDiskJobDetails) GetCommonJobDetails() *CommonJobDetails

GetCommonJobDetails implements the CommonJobDetailsClassification interface for type CustomerDiskJobDetails.

func (CustomerDiskJobDetails) MarshalJSON added in v0.2.0

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

MarshalJSON implements the json.Marshaller interface for type CustomerDiskJobDetails.

func (*CustomerDiskJobDetails) UnmarshalJSON added in v0.2.0

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 added in v0.2.0

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

CustomerResolutionCode - Resolution code provided by customer

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

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 added in v1.1.0

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 (
	// DataAccountTypeStorageAccount - Storage Accounts .
	DataAccountTypeStorageAccount DataAccountType = "StorageAccount"
	// DataAccountTypeManagedDisk - Azure Managed disk storage.
	DataAccountTypeManagedDisk DataAccountType = "ManagedDisk"
)

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type DataLocationToServiceLocationMap.

func (*DataLocationToServiceLocationMap) UnmarshalJSON added in v1.1.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type DatacenterAddressRequest.

func (*DatacenterAddressRequest) UnmarshalJSON added in v1.1.0

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 added in v0.2.0

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 (
	// DatacenterAddressTypeDatacenterAddressLocation - Data center address location.
	DatacenterAddressTypeDatacenterAddressLocation DatacenterAddressType = "DatacenterAddressLocation"
	// DatacenterAddressTypeDatacenterAddressInstruction - Data center address instruction.
	DatacenterAddressTypeDatacenterAddressInstruction DatacenterAddressType = "DatacenterAddressInstruction"
)

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type DcAccessSecurityCode.

func (*DcAccessSecurityCode) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type Details.

func (*Details) UnmarshalJSON added in v1.1.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type Details.

type DeviceErasureDetails added in v1.0.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type DeviceErasureDetails.

func (*DeviceErasureDetails) UnmarshalJSON added in v1.1.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type DeviceErasureDetails.

type DiskCopyLogDetails added in v0.2.0

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 added in v0.2.0

func (d *DiskCopyLogDetails) GetCopyLogDetails() *CopyLogDetails

GetCopyLogDetails implements the CopyLogDetailsClassification interface for type DiskCopyLogDetails.

func (DiskCopyLogDetails) MarshalJSON added in v0.2.0

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

MarshalJSON implements the json.Marshaller interface for type DiskCopyLogDetails.

func (*DiskCopyLogDetails) UnmarshalJSON added in v0.2.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type DiskCopyLogDetails.

type DiskCopyProgress added in v0.2.0

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

	// 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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type DiskCopyProgress.

func (*DiskCopyProgress) UnmarshalJSON added in v1.1.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type DiskCopyProgress.

type DiskGranularCopyLogDetails added in v0.3.0

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

	// READ-ONLY; Account name.
	AccountName *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 added in v0.3.0

func (d *DiskGranularCopyLogDetails) GetGranularCopyLogDetails() *GranularCopyLogDetails

GetGranularCopyLogDetails implements the GranularCopyLogDetailsClassification interface for type DiskGranularCopyLogDetails.

func (DiskGranularCopyLogDetails) MarshalJSON added in v0.3.0

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

MarshalJSON implements the json.Marshaller interface for type DiskGranularCopyLogDetails.

func (*DiskGranularCopyLogDetails) UnmarshalJSON added in v0.3.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type DiskGranularCopyLogDetails.

type DiskGranularCopyProgress added in v0.3.0

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

	// 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; 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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type DiskGranularCopyProgress.

func (*DiskGranularCopyProgress) UnmarshalJSON added in v1.1.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type DiskGranularCopyProgress.

type DiskJobDetails added in v0.2.0

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

	// 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.
	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 added in v0.2.0

func (d *DiskJobDetails) GetCommonJobDetails() *CommonJobDetails

GetCommonJobDetails implements the CommonJobDetailsClassification interface for type DiskJobDetails.

func (DiskJobDetails) MarshalJSON added in v0.2.0

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

MarshalJSON implements the json.Marshaller interface for type DiskJobDetails.

func (*DiskJobDetails) UnmarshalJSON added in v0.2.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type DiskJobDetails.

type DiskJobSecrets added in v0.2.0

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 added in v0.2.0

func (d *DiskJobSecrets) GetCommonJobSecrets() *CommonJobSecrets

GetCommonJobSecrets implements the CommonJobSecretsClassification interface for type DiskJobSecrets.

func (DiskJobSecrets) MarshalJSON added in v0.2.0

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

MarshalJSON implements the json.Marshaller interface for type DiskJobSecrets.

func (*DiskJobSecrets) UnmarshalJSON added in v0.2.0

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 added in v0.2.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type DiskSecret.

func (*DiskSecret) UnmarshalJSON added in v1.1.0

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 (
	// DoubleEncryptionEnabled - Software-based encryption is enabled.
	DoubleEncryptionEnabled DoubleEncryption = "Enabled"
	// DoubleEncryptionDisabled - Software-based encryption is disabled.
	DoubleEncryptionDisabled DoubleEncryption = "Disabled"
)

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
}

EncryptionPreferences - Preferences related to the Encryption.

func (EncryptionPreferences) MarshalJSON added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type EncryptionPreferences.

func (*EncryptionPreferences) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type ExportDiskDetails.

func (*ExportDiskDetails) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type FilterFileDetails.

func (*FilterFileDetails) UnmarshalJSON added in v1.1.0

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 added in v0.3.0

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

GranularCopyLogDetails - Granular Details for log generated during copy.

func (*GranularCopyLogDetails) GetGranularCopyLogDetails added in v0.3.0

func (g *GranularCopyLogDetails) GetGranularCopyLogDetails() *GranularCopyLogDetails

GetGranularCopyLogDetails implements the GranularCopyLogDetailsClassification interface for type GranularCopyLogDetails.

func (GranularCopyLogDetails) MarshalJSON added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type GranularCopyLogDetails.

func (*GranularCopyLogDetails) UnmarshalJSON added in v1.1.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type GranularCopyLogDetails.

type GranularCopyLogDetailsClassification added in v0.3.0

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 added in v0.3.0

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

	// 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; 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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type GranularCopyProgress.

func (*GranularCopyProgress) UnmarshalJSON added in v1.1.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type GranularCopyProgress.

type HeavyAccountCopyLogDetails added in v0.2.0

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 added in v0.2.0

func (h *HeavyAccountCopyLogDetails) GetCopyLogDetails() *CopyLogDetails

GetCopyLogDetails implements the CopyLogDetailsClassification interface for type HeavyAccountCopyLogDetails.

func (HeavyAccountCopyLogDetails) MarshalJSON added in v0.2.0

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

MarshalJSON implements the json.Marshaller interface for type HeavyAccountCopyLogDetails.

func (*HeavyAccountCopyLogDetails) UnmarshalJSON added in v0.2.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type HeavyAccountCopyLogDetails.

type HeavyJobDetails added in v0.2.0

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

	// 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 added in v0.2.0

func (h *HeavyJobDetails) GetCommonJobDetails() *CommonJobDetails

GetCommonJobDetails implements the CommonJobDetailsClassification interface for type HeavyJobDetails.

func (HeavyJobDetails) MarshalJSON added in v0.2.0

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

MarshalJSON implements the json.Marshaller interface for type HeavyJobDetails.

func (*HeavyJobDetails) UnmarshalJSON added in v0.2.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type HeavyJobDetails.

type HeavyJobSecrets added in v0.2.0

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 added in v0.2.0

func (h *HeavyJobSecrets) GetCommonJobSecrets() *CommonJobSecrets

GetCommonJobSecrets implements the CommonJobSecretsClassification interface for type HeavyJobSecrets.

func (HeavyJobSecrets) MarshalJSON added in v0.2.0

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

MarshalJSON implements the json.Marshaller interface for type HeavyJobSecrets.

func (*HeavyJobSecrets) UnmarshalJSON added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type HeavyScheduleAvailabilityRequest.

type HeavySecret added in v0.2.0

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 added in v0.2.0

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

MarshalJSON implements the json.Marshaller interface for type HeavySecret.

func (*HeavySecret) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type IdentityProperties.

func (*IdentityProperties) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type ImportDiskDetails.

func (*ImportDiskDetails) UnmarshalJSON added in v1.1.0

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

	// 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 added in v0.2.0

func (j *JobDetails) GetCommonJobDetails() *CommonJobDetails

GetCommonJobDetails implements the CommonJobDetailsClassification interface for type JobDetails.

func (JobDetails) MarshalJSON added in v0.2.0

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; 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 added in v1.1.0

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 added in v1.1.0

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 added in v1.1.0

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 added in v0.2.0

func (j *JobSecrets) GetCommonJobSecrets() *CommonJobSecrets

GetCommonJobSecrets implements the CommonJobSecretsClassification interface for type JobSecrets.

func (JobSecrets) MarshalJSON added in v0.2.0

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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/JobsCreate.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkRg5154", "SdkJob952", 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("Public SDK Test"),
					EmailList: []*string{
						to.Ptr("testing@microsoft.com")},
					Phone:          to.Ptr("1234567890"),
					PhoneExtension: to.Ptr("1234"),
				},
				DataImportDetails: []*armdatabox.DataImportDetails{
					{
						AccountDetails: &armdatabox.StorageAccountDetails{
							DataAccountType:  to.Ptr(armdatabox.DataAccountTypeStorageAccount),
							StorageAccountID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"),
						},
					}},
				JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
				ShippingAddress: &armdatabox.ShippingAddress{
					AddressType:     to.Ptr(armdatabox.AddressTypeCommercial),
					City:            to.Ptr("San Francisco"),
					CompanyName:     to.Ptr("Microsoft"),
					Country:         to.Ptr("US"),
					PostalCode:      to.Ptr("94107"),
					StateOrProvince: to.Ptr("CA"),
					StreetAddress1:  to.Ptr("16 TOWNSEND ST"),
					StreetAddress2:  to.Ptr("Unit 1"),
				},
			},
		},
	}, 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("SdkJob952"),
	// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 	ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952"),
	// 	Properties: &armdatabox.JobProperties{
	// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
	// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); 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-21T14:49:49.0027611+05:30"); return t}()),
	// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
	// 		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
	// 		Details: &armdatabox.JobDetails{
	// 			ContactDetails: &armdatabox.ContactDetails{
	// 				ContactName: to.Ptr("Public SDK Test"),
	// 				EmailList: []*string{
	// 					to.Ptr("testing@microsoft.com")},
	// 					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("1234567890"),
	// 					PhoneExtension: to.Ptr("1234"),
	// 				},
	// 				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-21T14:49:52.3995743+05:30"); 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("San Francisco"),
	// 					CompanyName: to.Ptr("Microsoft"),
	// 					Country: to.Ptr("US"),
	// 					PostalCode: to.Ptr("94107"),
	// 					StateOrProvince: to.Ptr("CA"),
	// 					StreetAddress1: to.Ptr("16 TOWNSEND ST"),
	// 					StreetAddress2: to.Ptr("Unit 1"),
	// 				},
	// 				CopyProgress: []*armdatabox.CopyProgress{
	// 				},
	// 			},
	// 		},
	// 	}
}
Output:

Example (JobsCreateDevicePassword)

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

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkRg7478", "SdkJob9640", 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("Public SDK Test"),
					EmailList: []*string{
						to.Ptr("testing@microsoft.com")},
					Phone:          to.Ptr("1234567890"),
					PhoneExtension: to.Ptr("1234"),
				},
				DataImportDetails: []*armdatabox.DataImportDetails{
					{
						AccountDetails: &armdatabox.StorageAccountDetails{
							DataAccountType:  to.Ptr(armdatabox.DataAccountTypeStorageAccount),
							SharePassword:    to.Ptr("<sharePassword>"),
							StorageAccountID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2"),
						},
					}},
				JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
				ShippingAddress: &armdatabox.ShippingAddress{
					AddressType:     to.Ptr(armdatabox.AddressTypeCommercial),
					City:            to.Ptr("San Francisco"),
					CompanyName:     to.Ptr("Microsoft"),
					Country:         to.Ptr("US"),
					PostalCode:      to.Ptr("94107"),
					StateOrProvince: to.Ptr("CA"),
					StreetAddress1:  to.Ptr("16 TOWNSEND ST"),
					StreetAddress2:  to.Ptr("Unit 1"),
				},
				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("SdkJob9640"),
	// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 	ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7478/providers/Microsoft.DataBox/jobs/SdkJob9640"),
	// 	Properties: &armdatabox.JobProperties{
	// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
	// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); 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-21T14:49:49.0027611+05:30"); return t}()),
	// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
	// 		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
	// 		Details: &armdatabox.JobDetails{
	// 			ContactDetails: &armdatabox.ContactDetails{
	// 				ContactName: to.Ptr("Public SDK Test"),
	// 				EmailList: []*string{
	// 					to.Ptr("testing@microsoft.com")},
	// 					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("1234567890"),
	// 					PhoneExtension: to.Ptr("1234"),
	// 				},
	// 				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-21T14:49:52.3995743+05:30"); 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("San Francisco"),
	// 					CompanyName: to.Ptr("Microsoft"),
	// 					Country: to.Ptr("US"),
	// 					PostalCode: to.Ptr("94107"),
	// 					StateOrProvince: to.Ptr("CA"),
	// 					StreetAddress1: to.Ptr("16 TOWNSEND ST"),
	// 					StreetAddress2: to.Ptr("Unit 1"),
	// 				},
	// 				CopyProgress: []*armdatabox.CopyProgress{
	// 				},
	// 			},
	// 		},
	// 	}
}
Output:

Example (JobsCreateDoubleEncryption)

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

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkRg608", "SdkJob6599", 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("Public SDK Test"),
					EmailList: []*string{
						to.Ptr("testing@microsoft.com")},
					Phone:          to.Ptr("1234567890"),
					PhoneExtension: to.Ptr("1234"),
				},
				DataImportDetails: []*armdatabox.DataImportDetails{
					{
						AccountDetails: &armdatabox.StorageAccountDetails{
							DataAccountType:  to.Ptr(armdatabox.DataAccountTypeStorageAccount),
							StorageAccountID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"),
						},
					}},
				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("San Francisco"),
					CompanyName:     to.Ptr("Microsoft"),
					Country:         to.Ptr("US"),
					PostalCode:      to.Ptr("94107"),
					StateOrProvince: to.Ptr("CA"),
					StreetAddress1:  to.Ptr("16 TOWNSEND ST"),
					StreetAddress2:  to.Ptr("Unit 1"),
				},
			},
		},
	}, 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("SdkJob6599"),
	// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 	ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg608/providers/Microsoft.DataBox/jobs/SdkJob6599"),
	// 	Properties: &armdatabox.JobProperties{
	// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
	// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); 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-21T14:49:49.0027611+05:30"); return t}()),
	// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
	// 		TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
	// 		Details: &armdatabox.JobDetails{
	// 			ContactDetails: &armdatabox.ContactDetails{
	// 				ContactName: to.Ptr("Public SDK Test"),
	// 				EmailList: []*string{
	// 					to.Ptr("testing@microsoft.com")},
	// 					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("1234567890"),
	// 					PhoneExtension: to.Ptr("1234"),
	// 				},
	// 				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-21T14:49:52.3995743+05:30"); 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("San Francisco"),
	// 					CompanyName: to.Ptr("Microsoft"),
	// 					Country: to.Ptr("US"),
	// 					PostalCode: to.Ptr("94107"),
	// 					StateOrProvince: to.Ptr("CA"),
	// 					StreetAddress1: to.Ptr("16 TOWNSEND ST"),
	// 					StreetAddress2: to.Ptr("Unit 1"),
	// 				},
	// 				CopyProgress: []*armdatabox.CopyProgress{
	// 				},
	// 			},
	// 		},
	// 	}
}
Output:

Example (JobsCreateExport)

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

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkRg8091", "SdkJob6429", 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("Public SDK Test"),
					EmailList: []*string{
						to.Ptr("testing@microsoft.com")},
					Phone:          to.Ptr("1234567890"),
					PhoneExtension: to.Ptr("1234"),
				},
				DataExportDetails: []*armdatabox.DataExportDetails{
					{
						AccountDetails: &armdatabox.StorageAccountDetails{
							DataAccountType:  to.Ptr(armdatabox.DataAccountTypeStorageAccount),
							StorageAccountID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2"),
						},
						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("San Francisco"),
					CompanyName:     to.Ptr("Microsoft"),
					Country:         to.Ptr("US"),
					PostalCode:      to.Ptr("94107"),
					StateOrProvince: to.Ptr("CA"),
					StreetAddress1:  to.Ptr("16 TOWNSEND ST"),
					StreetAddress2:  to.Ptr("Unit 1"),
				},
			},
		},
	}, 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("SdkJob6429"),
	// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 	ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429"),
	// 	Properties: &armdatabox.JobProperties{
	// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
	// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); 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-21T14:49:49.0027611+05:30"); return t}()),
	// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
	// 		TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
	// 		Details: &armdatabox.JobDetails{
	// 			ContactDetails: &armdatabox.ContactDetails{
	// 				ContactName: to.Ptr("Public SDK Test"),
	// 				EmailList: []*string{
	// 					to.Ptr("testing@microsoft.com")},
	// 					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("1234567890"),
	// 					PhoneExtension: to.Ptr("1234"),
	// 				},
	// 				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-21T14:49:52.3995743+05:30"); 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("San Francisco"),
	// 					CompanyName: to.Ptr("Microsoft"),
	// 					Country: to.Ptr("US"),
	// 					PostalCode: to.Ptr("94107"),
	// 					StateOrProvince: to.Ptr("CA"),
	// 					StreetAddress1: to.Ptr("16 TOWNSEND ST"),
	// 					StreetAddress2: to.Ptr("Unit 1"),
	// 				},
	// 				CopyProgress: []*armdatabox.CopyProgress{
	// 				},
	// 			},
	// 		},
	// 	}
}
Output:

Example (JobsCreateWithUserAssignedIdentity)

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

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkRg7552", "SdkJob5337", armdatabox.JobResource{
		Identity: &armdatabox.ResourceIdentity{
			Type: to.Ptr("UserAssigned"),
			UserAssignedIdentities: map[string]*armdatabox.UserAssignedIdentity{
				"/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sdkIdentity": {},
			},
		},
		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("Public SDK Test"),
					EmailList: []*string{
						to.Ptr("testing@microsoft.com")},
					Phone:          to.Ptr("1234567890"),
					PhoneExtension: to.Ptr("1234"),
				},
				DataImportDetails: []*armdatabox.DataImportDetails{
					{
						AccountDetails: &armdatabox.StorageAccountDetails{
							DataAccountType:  to.Ptr(armdatabox.DataAccountTypeStorageAccount),
							StorageAccountID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2"),
						},
					}},
				JobDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
				ShippingAddress: &armdatabox.ShippingAddress{
					AddressType:     to.Ptr(armdatabox.AddressTypeCommercial),
					City:            to.Ptr("San Francisco"),
					CompanyName:     to.Ptr("Microsoft"),
					Country:         to.Ptr("US"),
					PostalCode:      to.Ptr("94107"),
					StateOrProvince: to.Ptr("CA"),
					StreetAddress1:  to.Ptr("16 TOWNSEND ST"),
					StreetAddress2:  to.Ptr("Unit 1"),
				},
			},
		},
	}, 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("SdkJob5337"),
	// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 	ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7552/providers/Microsoft.DataBox/jobs/SdkJob5337"),
	// 	Properties: &armdatabox.JobProperties{
	// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
	// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); 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-21T14:49:49.0027611+05:30"); return t}()),
	// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
	// 		TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
	// 		Details: &armdatabox.JobDetails{
	// 			ContactDetails: &armdatabox.ContactDetails{
	// 				ContactName: to.Ptr("Public SDK Test"),
	// 				EmailList: []*string{
	// 					to.Ptr("testing@microsoft.com")},
	// 					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("1234567890"),
	// 					PhoneExtension: to.Ptr("1234"),
	// 				},
	// 				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-21T14:49:52.3995743+05:30"); 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("San Francisco"),
	// 					CompanyName: to.Ptr("Microsoft"),
	// 					Country: to.Ptr("US"),
	// 					PostalCode: to.Ptr("94107"),
	// 					StateOrProvince: to.Ptr("CA"),
	// 					StreetAddress1: to.Ptr("16 TOWNSEND ST"),
	// 					StreetAddress2: to.Ptr("Unit 1"),
	// 				},
	// 				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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/JobsDelete.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkRg5154", "SdkJob952", 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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/JobsPatch.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkRg5154", "SdkJob952", armdatabox.JobResourceUpdateParameter{
		Properties: &armdatabox.UpdateJobProperties{
			Details: &armdatabox.UpdateJobDetails{
				ContactDetails: &armdatabox.ContactDetails{
					ContactName: to.Ptr("Update Job"),
					EmailList: []*string{
						to.Ptr("testing@microsoft.com")},
					Phone:          to.Ptr("1234567890"),
					PhoneExtension: to.Ptr("1234"),
				},
				ShippingAddress: &armdatabox.ShippingAddress{
					AddressType:     to.Ptr(armdatabox.AddressTypeCommercial),
					City:            to.Ptr("San Francisco"),
					CompanyName:     to.Ptr("Microsoft"),
					Country:         to.Ptr("US"),
					PostalCode:      to.Ptr("94107"),
					StateOrProvince: to.Ptr("CA"),
					StreetAddress1:  to.Ptr("16 TOWNSEND ST"),
					StreetAddress2:  to.Ptr("Unit 1"),
				},
			},
		},
	}, &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("SdkJob952"),
	// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 	ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952"),
	// 	Properties: &armdatabox.JobProperties{
	// 		IsCancellable: to.Ptr(true),
	// 		IsShippingAddressEditable: to.Ptr(true),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-04-13T16:28:38.9999793+05:30"); 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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/JobsPatchCmk.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkRg7937", "SdkJob1735", armdatabox.JobResourceUpdateParameter{
		Properties: &armdatabox.UpdateJobProperties{
			Details: &armdatabox.UpdateJobDetails{
				KeyEncryptionKey: &armdatabox.KeyEncryptionKey{
					KekType:            to.Ptr(armdatabox.KekTypeCustomerManaged),
					KekURL:             to.Ptr("https://sdkkeyvault.vault.azure.net/keys/SSDKEY/"),
					KekVaultResourceID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault"),
				},
			},
		},
	}, &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("SdkJob1735"),
	// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 	ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735"),
	// 	Properties: &armdatabox.JobProperties{
	// 		IsCancellable: to.Ptr(true),
	// 		IsShippingAddressEditable: to.Ptr(true),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-04-13T16:28:38.9999793+05:30"); 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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/JobsPatchSystemAssignedToUserAssigned.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkRg9765", "SdkJob2965", armdatabox.JobResourceUpdateParameter{
		Identity: &armdatabox.ResourceIdentity{
			Type: to.Ptr("SystemAssigned,UserAssigned"),
			UserAssignedIdentities: map[string]*armdatabox.UserAssignedIdentity{
				"/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sdkIdentity": {},
			},
		},
		Properties: &armdatabox.UpdateJobProperties{
			Details: &armdatabox.UpdateJobDetails{
				KeyEncryptionKey: &armdatabox.KeyEncryptionKey{
					IdentityProperties: &armdatabox.IdentityProperties{
						Type: to.Ptr("UserAssigned"),
						UserAssigned: &armdatabox.UserAssignedProperties{
							ResourceID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sdkIdentity"),
						},
					},
					KekType:            to.Ptr(armdatabox.KekTypeCustomerManaged),
					KekURL:             to.Ptr("https://sdkkeyvault.vault.azure.net/keys/SSDKEY/"),
					KekVaultResourceID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault"),
				},
			},
		},
	}, &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("SdkJob2965"),
	// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 	ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg9765/providers/Microsoft.DataBox/jobs/SdkJob2965"),
	// 	Properties: &armdatabox.JobProperties{
	// 		IsCancellable: to.Ptr(true),
	// 		IsShippingAddressEditable: to.Ptr(true),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-04-13T16:28:38.9999793+05:30"); 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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/BookShipmentPickupPost.json

package main

import (
	"context"
	"log"

	"time"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "bvttoolrg6", "TJ-636646322037905056", armdatabox.ShipmentPickUpRequest{
		EndTime:          to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-22T18:30:00Z"); return t }()),
		ShipmentLocation: to.Ptr("Front desk"),
		StartTime:        to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-20T18:30:00Z"); 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("2929602E9CP"),
	// 	ReadyByTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-09-20T18:30:00Z"); 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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/JobsCancelPost.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkRg5154", "SdkJob952", 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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/JobsGet.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkRg5154", "SdkJob952", &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("SdkJob952"),
	// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 	ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952"),
	// 	Properties: &armdatabox.JobProperties{
	// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
	// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); 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-07T10:50:36.3341513+05:30"); return t}()),
	// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
	// 		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
	// 		Details: &armdatabox.JobDetails{
	// 			ContactDetails: &armdatabox.ContactDetails{
	// 				ContactName: to.Ptr("Public SDK Test"),
	// 				EmailList: []*string{
	// 					to.Ptr("testing@microsoft.com")},
	// 					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("1234567890"),
	// 					PhoneExtension: to.Ptr("1234"),
	// 				},
	// 				CopyLogDetails: []armdatabox.CopyLogDetailsClassification{
	// 				},
	// 				DataImportDetails: []*armdatabox.DataImportDetails{
	// 					{
	// 						AccountDetails: &armdatabox.StorageAccountDetails{
	// 							DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
	// 							StorageAccountID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"),
	// 						},
	// 				}},
	// 				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-07T10:50:40.1872217+05:30"); 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://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=urwfAELvNV69IGHdcXlRCn6o3O3dWZQKaRipmoAdrI0%3D&st=2020-08-07T05%3A10%3A58Z&se=2020-08-08T05%3A20%3A58Z&sp=r"),
	// 				ShippingAddress: &armdatabox.ShippingAddress{
	// 					AddressType: to.Ptr(armdatabox.AddressTypeCommercial),
	// 					City: to.Ptr("San Francisco"),
	// 					CompanyName: to.Ptr("Microsoft"),
	// 					Country: to.Ptr("US"),
	// 					PostalCode: to.Ptr("94107"),
	// 					StateOrProvince: to.Ptr("CA"),
	// 					StreetAddress1: to.Ptr("16 TOWNSEND ST"),
	// 					StreetAddress2: to.Ptr("Unit 1"),
	// 				},
	// 				CopyProgress: []*armdatabox.CopyProgress{
	// 				},
	// 			},
	// 		},
	// 	}
}
Output:

Example (JobsGetCmk)

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

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkRg7937", "SdkJob1735", &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("9a68a7c4-0a18-4d06-a5fb-7058e9e98458"),
	// 		TenantID: to.Ptr("72f988bf-86f1-41af-91ab-2d7cd011db47"),
	// 	},
	// 	Location: to.Ptr("westus"),
	// 	SKU: &armdatabox.SKU{
	// 		Name: to.Ptr(armdatabox.SKUNameDataBox),
	// 	},
	// 	Tags: map[string]*string{
	// 	},
	// 	Name: to.Ptr("SdkJob1735"),
	// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 	ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735"),
	// 	Properties: &armdatabox.JobProperties{
	// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
	// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); 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-07T10:47:42.0009935+05:30"); return t}()),
	// 		Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
	// 		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
	// 		Details: &armdatabox.JobDetails{
	// 			ContactDetails: &armdatabox.ContactDetails{
	// 				ContactName: to.Ptr("Public SDK Test"),
	// 				EmailList: []*string{
	// 					to.Ptr("testing@microsoft.com")},
	// 					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("1234567890"),
	// 					PhoneExtension: to.Ptr("1234"),
	// 				},
	// 				CopyLogDetails: []armdatabox.CopyLogDetailsClassification{
	// 				},
	// 				DataImportDetails: []*armdatabox.DataImportDetails{
	// 					{
	// 						AccountDetails: &armdatabox.StorageAccountDetails{
	// 							DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
	// 							StorageAccountID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2"),
	// 						},
	// 				}},
	// 				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-07T10:47:44.8736499+05:30"); 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://sdkkeyvault.vault.azure.net/keys/SSDKEY/"),
	// 					KekVaultResourceID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault"),
	// 				},
	// 				ReturnPackage: &armdatabox.PackageShippingDetails{
	// 					CarrierName: to.Ptr(""),
	// 					TrackingID: to.Ptr(""),
	// 					TrackingURL: to.Ptr(""),
	// 				},
	// 				ReverseShipmentLabelSasKey: to.Ptr("https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=JSZSeKrFrrwWbZ4zd7PNdGdNYKExKpxa98vRDDH6ZIk%3D&st=2020-08-07T05%3A08%3A51Z&se=2020-08-08T05%3A18%3A51Z&sp=r"),
	// 				ShippingAddress: &armdatabox.ShippingAddress{
	// 					AddressType: to.Ptr(armdatabox.AddressTypeCommercial),
	// 					City: to.Ptr("San Francisco"),
	// 					CompanyName: to.Ptr("Microsoft"),
	// 					Country: to.Ptr("US"),
	// 					PostalCode: to.Ptr("94107"),
	// 					StateOrProvince: to.Ptr("CA"),
	// 					StreetAddress1: to.Ptr("16 TOWNSEND ST"),
	// 					StreetAddress2: to.Ptr("Unit 1"),
	// 				},
	// 				CopyProgress: []*armdatabox.CopyProgress{
	// 				},
	// 			},
	// 		},
	// 	}
}
Output:

Example (JobsGetCopyStuck)

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

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "dmstestresource", "TJx-637505258985313014", &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("TJx-637505258985313014"),
	// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 	ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/dmstestresource/providers/Microsoft.DataBox/jobs/TJx-637505258985313014"),
	// 	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-05T12:56:12.6384315+05:30"); return t}()),
	// 		Status: to.Ptr(armdatabox.StageNameCompletedWithWarnings),
	// 		TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
	// 		Details: &armdatabox.JobDetails{
	// 			Actions: []*armdatabox.CustomerResolutionCode{
	// 			},
	// 			ContactDetails: &armdatabox.ContactDetails{
	// 				ContactName: to.Ptr("Andrew Tribone"),
	// 				EmailList: []*string{
	// 					to.Ptr("ssemmail@microsoft.com"),
	// 					to.Ptr("vishwamdir@microsoft.com")},
	// 					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("1234567890"),
	// 					PhoneExtension: to.Ptr("1234"),
	// 				},
	// 				CopyLogDetails: []armdatabox.CopyLogDetailsClassification{
	// 					&armdatabox.AccountCopyLogDetails{
	// 						CopyLogDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
	// 						AccountName: to.Ptr("databoxbvttestaccount"),
	// 						CopyLogLink: to.Ptr("databoxcopylog/strtrinidad01_ZTS18520041_CopyLog_8425fb8f9c2b447288caa4dd6f5d34bb.xml"),
	// 				}},
	// 				DataImportDetails: []*armdatabox.DataImportDetails{
	// 					{
	// 						AccountDetails: &armdatabox.StorageAccountDetails{
	// 							DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
	// 							StorageAccountID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"),
	// 						},
	// 				}},
	// 				DeliveryPackage: &armdatabox.PackageShippingDetails{
	// 					CarrierName: to.Ptr("Ups"),
	// 					TrackingID: to.Ptr("5fb6965e-0b80-4f38-b21a-32673fed2d84"),
	// 					TrackingURL: to.Ptr("https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=5fb6965e-0b80-4f38-b21a-32673fed2d84"),
	// 				},
	// 				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-05T12:56:25.3911023+05:30"); 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-05T13:07:49.676421+05:30"); 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-05T02:21:06+05:30"); 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-05T02:21:13+05:30"); 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-05T02:23:10+05:30"); 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-05T02:23:17+05:30"); 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-05T13:34:20.1497635+05:30"); 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-05T14:08:38.250614+05:30"); 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.8107951Z"); 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://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=b3875a34-aad6-4dbe-83a9-3f39cb21b0e8"),
	// 				},
	// 				ReverseShipmentLabelSasKey: to.Ptr("http://wusbeta.blob.core.windows.net/devstoreaccount1/f6be6ea8-77da-419b-9f6b-3043c28b04e4/ReverseShipment/b3875a34-aad6-4dbe-83a9-3f39cb21b0e8.PDF?sv=2018-03-28&sr=b&sig=%2BJmOyIkG0ALrKQp%2F7NCOBYccQ80DRLvN%2FHtb6Z97heg%3D&st=2021-03-05T09%3A45%3A05Z&se=2021-03-05T10%3A15%3A05Z&sp=r"),
	// 				ShippingAddress: &armdatabox.ShippingAddress{
	// 					AddressType: to.Ptr(armdatabox.AddressTypeNone),
	// 					City: to.Ptr("San Francisco"),
	// 					CompanyName: to.Ptr("Microsoft"),
	// 					Country: to.Ptr("US"),
	// 					PostalCode: to.Ptr("94107"),
	// 					StateOrProvince: to.Ptr("CA"),
	// 					StreetAddress1: to.Ptr("164 TOWNSEND ST"),
	// 					StreetAddress2: to.Ptr("UNIT 1"),
	// 				},
	// 				CopyProgress: []*armdatabox.CopyProgress{
	// 					{
	// 						AccountID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"),
	// 						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("databoxbvttestaccount"),
	// 						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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/JobsGetExport.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkRg8091", "SdkJob6429", &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("SdkJob6429"),
	// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 	ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429"),
	// 	Properties: &armdatabox.JobProperties{
	// 		CancellationReason: to.Ptr("CancelTest"),
	// 		DeliveryInfo: &armdatabox.JobDeliveryInfo{
	// 			ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); 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-07T10:49:08.7195419+05:30"); return t}()),
	// 		Status: to.Ptr(armdatabox.StageNameCancelled),
	// 		TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
	// 		Details: &armdatabox.JobDetails{
	// 			ChainOfCustodySasKey: to.Ptr("https://wusbeta.blob.core.windows.net/chainofcustody/9a6ee052-bcff-4b5e-a478-7dcbfb86e9fb.txt?sv=2018-03-28&sr=b&sig=JbBBXZKharvfg35ZfmrhowO1DuOpzcZCNUdeFzklvWs%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-07T05%3A40%3A05Z&sp=r"),
	// 			ContactDetails: &armdatabox.ContactDetails{
	// 				ContactName: to.Ptr(" "),
	// 				EmailList: []*string{
	// 				},
	// 				NotificationPreference: []*armdatabox.NotificationPreference{
	// 				},
	// 				Phone: to.Ptr("1234567890"),
	// 				PhoneExtension: to.Ptr("1234"),
	// 			},
	// 			CopyLogDetails: []armdatabox.CopyLogDetailsClassification{
	// 			},
	// 			DataExportDetails: []*armdatabox.DataExportDetails{
	// 				{
	// 					AccountDetails: &armdatabox.StorageAccountDetails{
	// 						DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
	// 						StorageAccountID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2"),
	// 					},
	// 					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-07T10:49:12.7675644+05:30"); 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-07T10:49:57.2572438+05:30"); 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://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=04aL%2FTe7998qQJlhmGI3C0Q%2FxsCVo1t0B4uQUIx7TmQ%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-08T05%3A20%3A05Z&sp=r"),
	// 			ShippingAddress: &armdatabox.ShippingAddress{
	// 				AddressType: to.Ptr(armdatabox.AddressTypeCommercial),
	// 				City: to.Ptr("San Francisco"),
	// 				CompanyName: to.Ptr("Microsoft"),
	// 				Country: to.Ptr("US"),
	// 				PostalCode: to.Ptr("94107"),
	// 				StateOrProvince: to.Ptr("CA"),
	// 				StreetAddress1: to.Ptr("16 TOWNSEND ST"),
	// 				StreetAddress2: to.Ptr("Unit 1"),
	// 			},
	// 			CopyProgress: []*armdatabox.CopyProgress{
	// 				{
	// 					AccountID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2"),
	// 					BytesProcessed: to.Ptr[int64](0),
	// 					DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
	// 					IsEnumerationInProgress: to.Ptr(false),
	// 					StorageAccountName: to.Ptr("aaaaaa2"),
	// 					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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/JobsGetWaitingForAction.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "dmstestresource", "TJx-637505258985313014", &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("TJx-637505258985313014"),
	// 	Type: to.Ptr("Microsoft.DataBox/jobs"),
	// 	ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/dmstestresource/providers/Microsoft.DataBox/jobs/TJx-637505258985313014"),
	// 	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.5177298+00:00"); 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("Andrew Tribone"),
	// 					EmailList: []*string{
	// 						to.Ptr("ssemmail@microsoft.com"),
	// 						to.Ptr("vishwamdir@microsoft.com")},
	// 						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("1234567890"),
	// 						PhoneExtension: to.Ptr("1234"),
	// 					},
	// 					CopyLogDetails: []armdatabox.CopyLogDetailsClassification{
	// 						&armdatabox.AccountCopyLogDetails{
	// 							CopyLogDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
	// 							AccountName: to.Ptr("databoxbvttestaccount"),
	// 							CopyLogLink: to.Ptr("databoxcopylog/strtrinidad01_ZTS18520041_CopyLog_8425fb8f9c2b447288caa4dd6f5d34bb.xml"),
	// 						},
	// 						&armdatabox.AccountCopyLogDetails{
	// 							CopyLogDetailsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
	// 							AccountName: to.Ptr("akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ94"),
	// 							CopyLogLink: to.Ptr("databoxcopylog/strtrinidad01_ZTS18520041_CopyLog_8425fb8f9c2b447288caa4dd6f5d34bb.xml"),
	// 					}},
	// 					DataImportDetails: []*armdatabox.DataImportDetails{
	// 						{
	// 							AccountDetails: &armdatabox.StorageAccountDetails{
	// 								DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
	// 								StorageAccountID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"),
	// 							},
	// 						},
	// 						{
	// 							AccountDetails: &armdatabox.ManagedDiskDetails{
	// 								DataAccountType: to.Ptr(armdatabox.DataAccountTypeManagedDisk),
	// 								ResourceGroupID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ94"),
	// 								StagingStorageAccountID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/manageddisktest/providers/Microsoft.Storage/storageAccounts/sojainmanageddisk"),
	// 							},
	// 					}},
	// 					DeliveryPackage: &armdatabox.PackageShippingDetails{
	// 						CarrierName: to.Ptr("Ups"),
	// 						TrackingID: to.Ptr("6f00fcce-1eec-4ee7-99a8-0acc68efd1c7"),
	// 						TrackingURL: to.Ptr("https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=6f00fcce-1eec-4ee7-99a8-0acc68efd1c7"),
	// 					},
	// 					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.81509+00:00"); 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.7350971+00:00"); 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+00:00"); 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+00:00"); 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+00:00"); 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+00:00"); 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.2679756+00:00"); 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.5047578Z"); 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("79148759-b772-4a90-933b-da5ae5ac6ebb"),
	// 						TrackingURL: to.Ptr("https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=79148759-b772-4a90-933b-da5ae5ac6ebb"),
	// 					},
	// 					ReverseShipmentLabelSasKey: to.Ptr("https://wusbeta.blob.core.windows.net/10dcd296-ed09-4037-ac19-2f16c4866452/ReverseShipment/79148759-b772-4a90-933b-da5ae5ac6ebb.PDF?sv=2018-03-28&sr=b&sig=bNtVcKRfYq1kiz0vxxSV%2FIZodCK8nUsCPu6MYK%2B6Erk%3D&st=2021-06-21T15%3A35%3A29Z&se=2021-06-21T16%3A05%3A29Z&sp=r"),
	// 					ShippingAddress: &armdatabox.ShippingAddress{
	// 						AddressType: to.Ptr(armdatabox.AddressTypeNone),
	// 						City: to.Ptr("San Francisco"),
	// 						CompanyName: to.Ptr("Microsoft"),
	// 						Country: to.Ptr("US"),
	// 						PostalCode: to.Ptr("94107"),
	// 						StateOrProvince: to.Ptr("CA"),
	// 						StreetAddress1: to.Ptr("164 TOWNSEND ST"),
	// 						StreetAddress2: to.Ptr("UNIT 1"),
	// 					},
	// 					CopyProgress: []*armdatabox.CopyProgress{
	// 						{
	// 							AccountID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"),
	// 							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("databoxbvttestaccount"),
	// 							TotalBytesToProcess: to.Ptr[int64](2000),
	// 							TotalFilesToProcess: to.Ptr[int64](110),
	// 							TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
	// 						},
	// 						{
	// 							AccountID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ94"),
	// 							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),
	// 					}},
	// 				},
	// 			},
	// 			SystemData: &armdatabox.SystemData{
	// 				CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-14T23:49:48.349255+00:00"); return t}()),
	// 				CreatedBy: to.Ptr("5ff6737b-7c50-45d1-b2cb-63a6cd723138"),
	// 				CreatedByType: to.Ptr("Application"),
	// 				LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-03-14T23:49:48.349255+00:00"); return t}()),
	// 				LastModifiedBy: to.Ptr("5ff6737b-7c50-45d1-b2cb-63a6cd723138"),
	// 				LastModifiedByType: to.Ptr("Application"),
	// 			},
	// 		}
}
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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/MarkDevicesShipped.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkJob8367", "SdkRg9836", armdatabox.MarkDevicesShippedRequest{
		DeliverToDcPackageDetails: &armdatabox.PackageCarrierInfo{
			CarrierName: to.Ptr("DHL"),
			TrackingID:  to.Ptr("123456"),
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
}
Output:

func (*JobsClient) NewListByResourceGroupPager added in v0.4.0

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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/JobsListByResourceGroup.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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("SdkRg5154", &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("fac84c35-5490-4b11-81b9-770053ccbe3b"),
		// 				TenantID: to.Ptr("72f988bf-86f1-41af-91ab-2d7cd011db47"),
		// 			},
		// 			Location: to.Ptr("westus"),
		// 			SKU: &armdatabox.SKU{
		// 				Name: to.Ptr(armdatabox.SKUNameDataBox),
		// 			},
		// 			Tags: map[string]*string{
		// 			},
		// 			Name: to.Ptr("SdkJob5928"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob5928"),
		// 			Properties: &armdatabox.JobProperties{
		// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
		// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); 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-03T11:55:54.463792+05:30"); 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("SdkJob952"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952"),
		// 			Properties: &armdatabox.JobProperties{
		// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
		// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); 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-07T10:50:36.3341513+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
		// 			},
		// 	}},
		// }
	}
}
Output:

func (*JobsClient) NewListCredentialsPager added in v0.4.0

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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/JobsListCredentials.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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("bvttoolrg6", "TJ-636646322037905056", 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("TJ-636646322037905056"),
		// 			JobSecrets: &armdatabox.JobSecrets{
		// 				DcAccessSecurityCode: &armdatabox.DcAccessSecurityCode{
		// 				},
		// 				JobSecretsType: to.Ptr(armdatabox.ClassDiscriminatorDataBox),
		// 				PodSecrets: []*armdatabox.Secret{
		// 					{
		// 						AccountCredentialDetails: []*armdatabox.AccountCredentialDetails{
		// 							{
		// 								AccountConnectionString: to.Ptr(""),
		// 								AccountName: to.Ptr("databoxbvttestaccount"),
		// 								DataAccountType: to.Ptr(armdatabox.DataAccountTypeStorageAccount),
		// 								ShareCredentialDetails: []*armdatabox.ShareCredentialDetails{
		// 									{
		// 										Password: to.Ptr("<password>"),
		// 										ShareName: to.Ptr("databoxbvttestaccount_PageBlob"),
		// 										ShareType: to.Ptr(armdatabox.ShareDestinationFormatTypePageBlob),
		// 										SupportedAccessProtocols: []*armdatabox.AccessProtocol{
		// 											to.Ptr(armdatabox.AccessProtocolSMB)},
		// 											UserName: to.Ptr("databoxbvttestac_903"),
		// 										},
		// 										{
		// 											Password: to.Ptr("<password>"),
		// 											ShareName: to.Ptr("databoxbvttestaccount_BlockBlob"),
		// 											ShareType: to.Ptr(armdatabox.ShareDestinationFormatTypeBlockBlob),
		// 											SupportedAccessProtocols: []*armdatabox.AccessProtocol{
		// 												to.Ptr(armdatabox.AccessProtocolSMB)},
		// 												UserName: to.Ptr("databoxbvttestac_903"),
		// 											},
		// 											{
		// 												Password: to.Ptr("<password>"),
		// 												ShareName: to.Ptr("databoxbvttestaccount_AzFile"),
		// 												ShareType: to.Ptr(armdatabox.ShareDestinationFormatTypeAzureFile),
		// 												SupportedAccessProtocols: []*armdatabox.AccessProtocol{
		// 													to.Ptr(armdatabox.AccessProtocolSMB)},
		// 													UserName: to.Ptr("databoxbvttestac_903"),
		// 											}},
		// 									}},
		// 									DevicePassword: to.Ptr("<devicePassword>"),
		// 									DeviceSerialNumber: to.Ptr("testimolapod-3ecc44ce"),
		// 									EncodedValidationCertPubKey: to.Ptr("5CYoAoVKEBa4WgPVis8keX94w30pon4jGMADSqcdE/NlHLChj6Cmhbl4q9QOFKSB/US4AwhS7zY1QS3YMDrkAPfOy7Hi6kWMBpJWZidTq3oXX8FAQjg+IqQESti/2jvAlcDpO2453rgd7Yb6XZ43P8MMTpTjcarI0ImCf//eITQWnFa3AzfIJ9C+hxCCaA7HTYhwQEPUBMwyQJsI6v6WuQysROtlBgx1YtbWFhDVbcqYRSLIbaj+RdzlvxvDJSo70kv+8em5upuDTpVE7xP+WePLlARdSPNwwfRzHnvCUqC2UqXHpRUhQlYnMqAJEcjjroRnyIGumPmmQ8O155X8aw=="),
		// 									NetworkConfigurations: []*armdatabox.ApplianceNetworkConfiguration{
		// 										{
		// 											Name: to.Ptr("DataPort3"),
		// 											MacAddress: to.Ptr("D05099C1F439"),
		// 										},
		// 										{
		// 											Name: to.Ptr("DataPort1"),
		// 											MacAddress: to.Ptr("EC0D9A21A6C0"),
		// 										},
		// 										{
		// 											Name: to.Ptr("DataPort2"),
		// 											MacAddress: to.Ptr("EC0D9A21A6C1"),
		// 									}},
		// 							}},
		// 						},
		// 				}},
		// 			}
	}
}
Output:

func (*JobsClient) NewListPager added in v0.4.0

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

NewListPager - Lists all the jobs available under the subscription.

Generated from API version 2022-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/JobsList.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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("mnaustest"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/mnaustest"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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-30T14:44:39.77401+05:30"); 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("portalcontractAUS"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/portalcontractAUS"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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-10T18:03:22.2578238+05:30"); 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("testBB-diskAU"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/testBB/providers/Microsoft.DataBox/jobs/testBB-diskAU"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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-30T15:17:17.3753642+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				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("allXML"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/allXML"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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, "2020-05-04T11:12:15.5972523+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
		// 			},
		// 		},
		// 		{
		// 			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("bothExportAllxml"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/bothExportAllxml"),
		// 			Properties: &armdatabox.JobProperties{
		// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
		// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); return t}()),
		// 				},
		// 				DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
		// 				IsCancellable: to.Ptr(true),
		// 				IsCancellableWithoutFee: to.Ptr(true),
		// 				IsDeletable: to.Ptr(false),
		// 				IsPrepareToShipEnabled: to.Ptr(false),
		// 				IsShippingAddressEditable: to.Ptr(true),
		// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-05-07T15:51:08.4479315+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
		// 			},
		// 		},
		// 		{
		// 			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("exportAll"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/exportAll"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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, "2020-05-04T19:44:59.2410723+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
		// 			},
		// 		},
		// 		{
		// 			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("importRegressnTest"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/importRegressnTest"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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, "2020-05-04T18:31:05.3036028+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				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("testBotthXMLAndAll"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testBotthXMLAndAll"),
		// 			Properties: &armdatabox.JobProperties{
		// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
		// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); return t}()),
		// 				},
		// 				DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
		// 				IsCancellable: to.Ptr(true),
		// 				IsCancellableWithoutFee: to.Ptr(true),
		// 				IsDeletable: to.Ptr(false),
		// 				IsPrepareToShipEnabled: to.Ptr(false),
		// 				IsShippingAddressEditable: to.Ptr(true),
		// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-05-09T01:57:03.8985885+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
		// 			},
		// 		},
		// 		{
		// 			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("testExportAllOrder"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testExportAllOrder"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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, "2020-05-05T15:56:52.6983398+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
		// 			},
		// 		},
		// 		{
		// 			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("testPayload"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testPayload"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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, "2020-05-04T17:45:25.464989+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
		// 			},
		// 		},
		// 		{
		// 			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("xmlOnlyOrder"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/xmlOnlyOrder"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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, "2020-05-04T10:43:04.8775864+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
		// 			},
		// 		},
		// 		{
		// 			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("testbadresourcegroup"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ93/providers/Microsoft.DataBox/jobs/testbadresourcegroup"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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-11-27T15:17:49.0760408+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				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("andipodtest4jan"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/andipodtest4jan"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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, "2019-01-04T09:08:49.9928621+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				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("dbtest1"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/dbtest1"),
		// 			Properties: &armdatabox.JobProperties{
		// 				CancellationReason: to.Ptr("NoLongerNeeded null"),
		// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
		// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); 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, "2020-05-28T15:20:48.1058546+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
		// 			},
		// 		},
		// 		{
		// 			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("degautam14-04-Clone"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautam14-04-Clone"),
		// 			Properties: &armdatabox.JobProperties{
		// 				CancellationReason: to.Ptr("IncorrectOrder null"),
		// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
		// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); 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, "2020-04-14T08:51:18.2067875+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				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("degautamtestexport"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestexport"),
		// 			Properties: &armdatabox.JobProperties{
		// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
		// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); return t}()),
		// 				},
		// 				DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
		// 				IsCancellable: to.Ptr(true),
		// 				IsCancellableWithoutFee: to.Ptr(true),
		// 				IsDeletable: to.Ptr(false),
		// 				IsPrepareToShipEnabled: to.Ptr(false),
		// 				IsShippingAddressEditable: to.Ptr(true),
		// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-05-27T18:08:30.6622356+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
		// 			},
		// 		},
		// 		{
		// 			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("DegautamTestExportOrder"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/DegautamTestExportOrder"),
		// 			Properties: &armdatabox.JobProperties{
		// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
		// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); return t}()),
		// 				},
		// 				DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
		// 				IsCancellable: to.Ptr(true),
		// 				IsCancellableWithoutFee: to.Ptr(true),
		// 				IsDeletable: to.Ptr(false),
		// 				IsPrepareToShipEnabled: to.Ptr(false),
		// 				IsShippingAddressEditable: to.Ptr(true),
		// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-05-21T20:41:02.3837388+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
		// 			},
		// 		},
		// 		{
		// 			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("degautamtestorder"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestorder"),
		// 			Properties: &armdatabox.JobProperties{
		// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
		// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); return t}()),
		// 				},
		// 				DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
		// 				IsCancellable: to.Ptr(true),
		// 				IsCancellableWithoutFee: to.Ptr(true),
		// 				IsDeletable: to.Ptr(false),
		// 				IsPrepareToShipEnabled: to.Ptr(false),
		// 				IsShippingAddressEditable: to.Ptr(true),
		// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-05-24T07:56:23.6839464+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
		// 			},
		// 		},
		// 		{
		// 			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("degautamTestOrder14-04"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamTestOrder14-04"),
		// 			Properties: &armdatabox.JobProperties{
		// 				CancellationReason: to.Ptr("IncorrectOrder null"),
		// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
		// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); 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, "2020-04-14T08:48:21.2260174+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				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("export"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/export"),
		// 			Properties: &armdatabox.JobProperties{
		// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
		// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); return t}()),
		// 				},
		// 				DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
		// 				IsCancellable: to.Ptr(true),
		// 				IsCancellableWithoutFee: to.Ptr(true),
		// 				IsDeletable: to.Ptr(false),
		// 				IsPrepareToShipEnabled: to.Ptr(false),
		// 				IsShippingAddressEditable: to.Ptr(true),
		// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-05-12T12:19:19.8627264+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameDeviceOrdered),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
		// 			},
		// 		},
		// 		{
		// 			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("exportTestResource"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/exportTestResource"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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, "2020-04-05T19:50:20.9692355+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
		// 			},
		// 		},
		// 		{
		// 			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("sanakTestImportNew"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportNew"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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, "2020-04-10T15:09:45.7080012+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				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("sanakTestImportOld"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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, "2020-04-10T15:13:02.5724966+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				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("sanakTestImportOld1"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld1"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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, "2020-04-20T13:39:28.1940929+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeExportFromAzure),
		// 			},
		// 		},
		// 		{
		// 			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("sanakTestImportOld2"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld2"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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, "2020-04-10T15:14:59.6879599+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				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("saranyagorder"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/saranyagorder"),
		// 			Properties: &armdatabox.JobProperties{
		// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
		// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); return t}()),
		// 				},
		// 				DeliveryType: to.Ptr(armdatabox.JobDeliveryTypeNonScheduled),
		// 				IsCancellable: to.Ptr(true),
		// 				IsCancellableWithoutFee: to.Ptr(true),
		// 				IsDeletable: to.Ptr(false),
		// 				IsPrepareToShipEnabled: to.Ptr(false),
		// 				IsShippingAddressEditable: to.Ptr(true),
		// 				StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-07-21T23:43:34.513148+05:30"); 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("testdeepak04-07"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdeepak04-07"),
		// 			Properties: &armdatabox.JobProperties{
		// 				CancellationReason: to.Ptr("IncorrectOrder null"),
		// 				DeliveryInfo: &armdatabox.JobDeliveryInfo{
		// 					ScheduledDateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T05:30:00+05:30"); 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, "2019-07-04T14:01:50.9232807+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
		// 			},
		// 		},
		// 		{
		// 			Identity: &armdatabox.ResourceIdentity{
		// 				Type: to.Ptr("None"),
		// 			},
		// 			Location: to.Ptr("westus"),
		// 			SKU: &armdatabox.SKU{
		// 				Name: to.Ptr(armdatabox.SKUNameDataBoxHeavy),
		// 			},
		// 			Tags: map[string]*string{
		// 			},
		// 			Name: to.Ptr("testdurga-heavy"),
		// 			Type: to.Ptr("Microsoft.DataBox/jobs"),
		// 			ID: to.Ptr("/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurga-heavy"),
		// 			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, "0001-01-01T05:30:00+05:30"); 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, "2019-02-11T12:33:16.6231232+05:30"); return t}()),
		// 				Status: to.Ptr(armdatabox.StageNameCancelled),
		// 				TransferType: to.Ptr(armdatabox.TransferTypeImportToAzure),
		// 			},
		// 	}},
		// }
	}
}
Output:

type JobsClientBeginCreateOptions added in v0.2.0

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

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

type JobsClientBeginDeleteOptions added in v0.2.0

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

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

type JobsClientBeginUpdateOptions added in v0.2.0

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 added in v0.2.0

type JobsClientBookShipmentPickUpOptions struct {
}

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

type JobsClientBookShipmentPickUpResponse added in v0.2.0

type JobsClientBookShipmentPickUpResponse struct {
	ShipmentPickUpResponse
}

JobsClientBookShipmentPickUpResponse contains the response from method JobsClient.BookShipmentPickUp.

type JobsClientCancelOptions added in v0.2.0

type JobsClientCancelOptions struct {
}

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

type JobsClientCancelResponse added in v0.2.0

type JobsClientCancelResponse struct {
}

JobsClientCancelResponse contains the response from method JobsClient.Cancel.

type JobsClientCreateResponse added in v0.2.0

type JobsClientCreateResponse struct {
	JobResource
}

JobsClientCreateResponse contains the response from method JobsClient.BeginCreate.

type JobsClientDeleteResponse added in v0.2.0

type JobsClientDeleteResponse struct {
}

JobsClientDeleteResponse contains the response from method JobsClient.BeginDelete.

type JobsClientGetOptions added in v0.2.0

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 added in v0.2.0

type JobsClientGetResponse struct {
	JobResource
}

JobsClientGetResponse contains the response from method JobsClient.Get.

type JobsClientListByResourceGroupOptions added in v0.2.0

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 added in v0.2.0

type JobsClientListByResourceGroupResponse struct {
	JobResourceList
}

JobsClientListByResourceGroupResponse contains the response from method JobsClient.NewListByResourceGroupPager.

type JobsClientListCredentialsOptions added in v0.2.0

type JobsClientListCredentialsOptions struct {
}

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

type JobsClientListCredentialsResponse added in v0.2.0

type JobsClientListCredentialsResponse struct {
	UnencryptedCredentialsList
}

JobsClientListCredentialsResponse contains the response from method JobsClient.NewListCredentialsPager.

type JobsClientListOptions added in v0.2.0

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 added in v0.2.0

type JobsClientListResponse struct {
	JobResourceList
}

JobsClientListResponse contains the response from method JobsClient.NewListPager.

type JobsClientMarkDevicesShippedOptions added in v0.2.0

type JobsClientMarkDevicesShippedOptions struct {
}

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

type JobsClientMarkDevicesShippedResponse added in v0.2.0

type JobsClientMarkDevicesShippedResponse struct {
}

JobsClientMarkDevicesShippedResponse contains the response from method JobsClient.MarkDevicesShipped.

type JobsClientUpdateResponse added in v0.2.0

type JobsClientUpdateResponse struct {
	JobResource
}

JobsClientUpdateResponse contains the response from method JobsClient.BeginUpdate.

type KekType

type KekType string

KekType - Type of encryption key used for key encryption.

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

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type KeyEncryptionKey.

func (*KeyEncryptionKey) UnmarshalJSON added in v1.1.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/JobMitigate.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkJob8367", "SdkRg9836", armdatabox.MitigateJobRequest{
		CustomerResolutionCode: to.Ptr(armdatabox.CustomerResolutionCodeMoveToCleanUpDevice),
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
}
Output:

type ManagementClientMitigateOptions added in v0.2.0

type ManagementClientMitigateOptions struct {
}

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

type ManagementClientMitigateResponse added in v0.2.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type MarkDevicesShippedRequest.

func (*MarkDevicesShippedRequest) UnmarshalJSON added in v1.1.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type MarkDevicesShippedRequest.

type MitigateJobRequest

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

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

func (MitigateJobRequest) MarshalJSON added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type MitigateJobRequest.

func (*MitigateJobRequest) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type NotificationPreference.

func (*NotificationPreference) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type Operation.

func (*Operation) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type OperationDisplay.

func (*OperationDisplay) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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 added in v0.4.0

NewListPager - This method gets all the operations.

Generated from API version 2022-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/OperationsGet.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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 added in v0.2.0

type OperationsClientListOptions struct {
}

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

type OperationsClientListResponse added in v0.2.0

type OperationsClientListResponse struct {
	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"
	// OverallValidationStatusInputsRevisitRequired - Some input requests are not valid.
	OverallValidationStatusInputsRevisitRequired OverallValidationStatus = "InputsRevisitRequired"
	// OverallValidationStatusCertainInputValidationsSkipped - Certain input validations skipped.
	OverallValidationStatusCertainInputValidationsSkipped OverallValidationStatus = "CertainInputValidationsSkipped"
)

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type PackageCarrierDetails.

func (*PackageCarrierDetails) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type PackageCarrierInfo.

func (*PackageCarrierInfo) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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

MarshalJSON implements the json.Marshaller interface for type PackageShippingDetails.

func (*PackageShippingDetails) UnmarshalJSON added in v1.1.0

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

	// 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 added in v1.1.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v1.1.0

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 added in v1.1.0

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

UnmarshalJSON implements the json.Unmarshaller interface for type ResourceIdentity.

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 added in v1.1.0

func (s SKU) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SKU.

func (*SKU) UnmarshalJSON added in v1.1.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v1.1.0

func (s SKUCapacity) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SKUCapacity.

func (*SKUCapacity) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

func (s SKUCost) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SKUCost.

func (*SKUCost) UnmarshalJSON added in v1.1.0

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 (
	// SKUDisabledReasonNone - SKU is not disabled.
	SKUDisabledReasonNone SKUDisabledReason = "None"
	// SKUDisabledReasonCountry - SKU is not available in the requested country.
	SKUDisabledReasonCountry SKUDisabledReason = "Country"
	// SKUDisabledReasonRegion - SKU is not available to push data to the requested Azure region.
	SKUDisabledReasonRegion SKUDisabledReason = "Region"
	// SKUDisabledReasonFeature - Required features are not enabled for the SKU.
	SKUDisabledReasonFeature SKUDisabledReason = "Feature"
	// SKUDisabledReasonOfferType - Subscription does not have required offer types for the SKU.
	SKUDisabledReasonOfferType SKUDisabledReason = "OfferType"
	// SKUDisabledReasonNoSubscriptionInfo - Subscription has not registered to Microsoft.DataBox and Service does not have the
	// subscription notification.
	SKUDisabledReasonNoSubscriptionInfo SKUDisabledReason = "NoSubscriptionInfo"
)

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 added in v1.1.0

func (s SKUInformation) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SKUInformation.

func (*SKUInformation) UnmarshalJSON added in v1.1.0

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"
	// SKUNameDataBoxDisk - Data Box Disk.
	SKUNameDataBoxDisk SKUName = "DataBoxDisk"
	// SKUNameDataBoxHeavy - Data Box Heavy.
	SKUNameDataBoxHeavy SKUName = "DataBoxHeavy"
	// SKUNameDataBoxCustomerDisk - Data Box Customer Disk
	SKUNameDataBoxCustomerDisk SKUName = "DataBoxCustomerDisk"
)

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; 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 added in v1.1.0

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 added in v0.2.0

func (s *ScheduleAvailabilityRequest) GetCommonScheduleAvailabilityRequest() *CommonScheduleAvailabilityRequest

GetCommonScheduleAvailabilityRequest implements the CommonScheduleAvailabilityRequestClassification interface for type ScheduleAvailabilityRequest.

func (ScheduleAvailabilityRequest) MarshalJSON added in v0.2.0

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 added in v1.1.0

func (s *ScheduleAvailabilityResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ScheduleAvailabilityResponse.

type Secret added in v0.2.0

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 added in v0.2.0

func (s Secret) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type Secret.

func (*Secret) UnmarshalJSON added in v1.1.0

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 added in v0.4.0

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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/AvailableSkusPost.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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("bvttoolrg6", "westus", armdatabox.AvailableSKURequest{
		Country:      to.Ptr("US"),
		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),
		// 					}},
		// 					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),
		// 						}},
		// 						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),
		// 							}},
		// 							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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/RegionConfiguration.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-12T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-13T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-14T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-15T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-16T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-17T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-18T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-19T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-20T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-21T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-22T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-23T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-24T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-25T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-26T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-27T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-28T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-29T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-30T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-31T00:00:00+00:00"); 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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/RegionConfigurationByResourceGroup.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkRg4981", "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+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-12T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-13T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-14T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-15T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-16T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-17T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-18T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-19T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-20T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-21T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-22T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-23T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-24T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-25T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-26T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-27T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-28T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-29T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-30T00:00:00+00:00"); return t}()),
	// 			to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-07-31T00:00:00+00:00"); 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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/ValidateAddressPost.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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("San Francisco"),
			CompanyName:     to.Ptr("Microsoft"),
			Country:         to.Ptr("US"),
			PostalCode:      to.Ptr("94107"),
			StateOrProvince: to.Ptr("CA"),
			StreetAddress1:  to.Ptr("16 TOWNSEND ST"),
			StreetAddress2:  to.Ptr("Unit 1"),
		},
	}, 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("SAN FRANCISCO"),
	// 				Country: to.Ptr("US"),
	// 				PostalCode: to.Ptr("94107"),
	// 				StateOrProvince: to.Ptr("CA"),
	// 				StreetAddress1: to.Ptr("16 TOWNSEND ST"),
	// 				StreetAddress2: to.Ptr("Unit 1"),
	// 				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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/ValidateInputs.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"),
						},
					}},
				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("San Francisco"),
					CompanyName:     to.Ptr("Microsoft"),
					Country:         to.Ptr("US"),
					PostalCode:      to.Ptr("94107"),
					StateOrProvince: to.Ptr("CA"),
					StreetAddress1:  to.Ptr("16 TOWNSEND ST"),
					StreetAddress2:  to.Ptr("Unit 1"),
				},
				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("US"),
				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("SAN FRANCISCO"),
	// 						Country: to.Ptr("US"),
	// 						PostalCode: to.Ptr("94107"),
	// 						StateOrProvince: to.Ptr("CA"),
	// 						StreetAddress1: to.Ptr("16 TOWNSEND ST"),
	// 						StreetAddress2: to.Ptr("Unit 1"),
	// 						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-02-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/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/databox/resource-manager/Microsoft.DataBox/stable/2022-02-01/examples/ValidateInputsByResourceGroup.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox"
)

func main() {
	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, "SdkRg6861", "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/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"),
						},
					}},
				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("San Francisco"),
					CompanyName:     to.Ptr("Microsoft"),
					Country:         to.Ptr("US"),
					PostalCode:      to.Ptr("94107"),
					StateOrProvince: to.Ptr("CA"),
					StreetAddress1:  to.Ptr("16 TOWNSEND ST"),
					StreetAddress2:  to.Ptr("Unit 1"),
				},
				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("US"),
				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("SAN FRANCISCO"),
	// 						Country: to.Ptr("US"),
	// 						PostalCode: to.Ptr("94107"),
	// 						StateOrProvince: to.Ptr("CA"),
	// 						StreetAddress1: to.Ptr("16 TOWNSEND ST"),
	// 						StreetAddress2: to.Ptr("Unit 1"),
	// 						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 added in v0.2.0

type ServiceClientListAvailableSKUsByResourceGroupOptions struct {
}

ServiceClientListAvailableSKUsByResourceGroupOptions contains the optional parameters for the ServiceClient.NewListAvailableSKUsByResourceGroupPager method.

type ServiceClientListAvailableSKUsByResourceGroupResponse added in v0.2.0

type ServiceClientListAvailableSKUsByResourceGroupResponse struct {
	AvailableSKUsResult
}

ServiceClientListAvailableSKUsByResourceGroupResponse contains the response from method ServiceClient.NewListAvailableSKUsByResourceGroupPager.

type ServiceClientRegionConfigurationByResourceGroupOptions added in v0.2.0

type ServiceClientRegionConfigurationByResourceGroupOptions struct {
}

ServiceClientRegionConfigurationByResourceGroupOptions contains the optional parameters for the ServiceClient.RegionConfigurationByResourceGroup method.

type ServiceClientRegionConfigurationByResourceGroupResponse added in v0.2.0

type ServiceClientRegionConfigurationByResourceGroupResponse struct {
	RegionConfigurationResponse
}

ServiceClientRegionConfigurationByResourceGroupResponse contains the response from method ServiceClient.RegionConfigurationByResourceGroup.

type ServiceClientRegionConfigurationOptions added in v0.2.0

type ServiceClientRegionConfigurationOptions struct {
}

ServiceClientRegionConfigurationOptions contains the optional parameters for the ServiceClient.RegionConfiguration method.

type ServiceClientRegionConfigurationResponse added in v0.2.0

type ServiceClientRegionConfigurationResponse struct {
	RegionConfigurationResponse
}

ServiceClientRegionConfigurationResponse contains the response from method ServiceClient.RegionConfiguration.

type ServiceClientValidateAddressOptions added in v0.2.0

type ServiceClientValidateAddressOptions struct {
}

ServiceClientValidateAddressOptions contains the optional parameters for the ServiceClient.ValidateAddress method.

type ServiceClientValidateAddressResponse added in v0.2.0

type ServiceClientValidateAddressResponse struct {
	AddressValidationOutput
}

ServiceClientValidateAddressResponse contains the response from method ServiceClient.ValidateAddress.

type ServiceClientValidateInputsByResourceGroupOptions added in v0.2.0

type ServiceClientValidateInputsByResourceGroupOptions struct {
}

ServiceClientValidateInputsByResourceGroupOptions contains the optional parameters for the ServiceClient.ValidateInputsByResourceGroup method.

type ServiceClientValidateInputsByResourceGroupResponse added in v0.2.0

type ServiceClientValidateInputsByResourceGroupResponse struct {
	ValidationResponse
}

ServiceClientValidateInputsByResourceGroupResponse contains the response from method ServiceClient.ValidateInputsByResourceGroup.

type ServiceClientValidateInputsOptions added in v0.2.0

type ServiceClientValidateInputsOptions struct {
}

ServiceClientValidateInputsOptions contains the optional parameters for the ServiceClient.ValidateInputs method.

type ServiceClientValidateInputsResponse added in v0.2.0

type ServiceClientValidateInputsResponse struct {
	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 added in v1.1.0

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 (
	// ShareDestinationFormatTypeUnknownType - Unknown format.
	ShareDestinationFormatTypeUnknownType ShareDestinationFormatType = "UnknownType"
	// ShareDestinationFormatTypeHCS - Storsimple data format.
	ShareDestinationFormatTypeHCS ShareDestinationFormatType = "HCS"
	// ShareDestinationFormatTypeBlockBlob - Azure storage block blob format.
	ShareDestinationFormatTypeBlockBlob ShareDestinationFormatType = "BlockBlob"
	// ShareDestinationFormatTypePageBlob - Azure storage page blob format.
	ShareDestinationFormatTypePageBlob ShareDestinationFormatType = "PageBlob"
	// ShareDestinationFormatTypeAzureFile - Azure storage file format.
	ShareDestinationFormatTypeAzureFile ShareDestinationFormatType = "AzureFile"
	// ShareDestinationFormatTypeManagedDisk - Azure Compute Disk.
	ShareDestinationFormatTypeManagedDisk ShareDestinationFormatType = "ManagedDisk"
)

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

	// Name of the State or Province.
	StateOrProvince *string

	// Street Address line 2.
	StreetAddress2 *string

	// Street Address line 3.
	StreetAddress3 *string

	// Extended Zip Code.
	ZipExtendedCode *string
}

ShippingAddress - Shipping address where customer wishes to receive the device.

func (ShippingAddress) MarshalJSON added in v1.1.0

func (s ShippingAddress) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ShippingAddress.

func (*ShippingAddress) UnmarshalJSON added in v1.1.0

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 (
	// StageStatusNone - No status available yet.
	StageStatusNone StageStatus = "None"
	// StageStatusInProgress - Stage is in progress.
	StageStatusInProgress StageStatus = "InProgress"
	// StageStatusSucceeded - Stage has succeeded.
	StageStatusSucceeded StageStatus = "Succeeded"
	// StageStatusFailed - Stage has failed.
	StageStatusFailed StageStatus = "Failed"
	// StageStatusCancelled - Stage has been cancelled.
	StageStatusCancelled StageStatus = "Cancelled"
	// StageStatusCancelling - Stage is cancelling.
	StageStatusCancelling StageStatus = "Cancelling"
	// StageStatusSucceededWithErrors - Stage has succeeded with errors.
	StageStatusSucceededWithErrors StageStatus = "SucceededWithErrors"
	// StageStatusWaitingForCustomerAction - Stage is stuck until customer takes some action.
	StageStatusWaitingForCustomerAction StageStatus = "WaitingForCustomerAction"
	// StageStatusSucceededWithWarnings - Stage has succeeded with warnings.
	StageStatusSucceededWithWarnings StageStatus = "SucceededWithWarnings"
	// StageStatusWaitingForCustomerActionForKek - Stage is waiting for customer action for kek action items.
	StageStatusWaitingForCustomerActionForKek StageStatus = "WaitingForCustomerActionForKek"
	// StageStatusWaitingForCustomerActionForCleanUp - Stage is waiting for customer action for clean up.
	StageStatusWaitingForCustomerActionForCleanUp StageStatus = "WaitingForCustomerActionForCleanUp"
	// StageStatusCustomerActionPerformedForCleanUp - Stage has performed customer action for clean up.
	StageStatusCustomerActionPerformedForCleanUp StageStatus = "CustomerActionPerformedForCleanUp"
	// StageStatusCustomerActionPerformed - Stage has performed customer action for clean up.
	StageStatusCustomerActionPerformed StageStatus = "CustomerActionPerformed"
)

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 added in v0.2.0

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 added in v0.2.0

GetValidationInputRequest implements the ValidationInputRequestClassification interface for type SubscriptionIsAllowedToCreateJobValidationRequest.

func (SubscriptionIsAllowedToCreateJobValidationRequest) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type SubscriptionIsAllowedToCreateJobValidationRequest.

func (*SubscriptionIsAllowedToCreateJobValidationRequest) UnmarshalJSON added in v0.2.0

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 added in v0.2.0

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 added in v1.1.0

func (t TransferAllDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TransferAllDetails.

func (*TransferAllDetails) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

func (t TransferConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TransferConfiguration.

func (*TransferConfiguration) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

func (t TransferConfigurationTransferAllDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TransferConfigurationTransferAllDetails.

func (*TransferConfigurationTransferAllDetails) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

MarshalJSON implements the json.Marshaller interface for type TransferConfigurationTransferFilterDetails.

func (*TransferConfigurationTransferFilterDetails) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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 (
	// TransferTypeImportToAzure - Import data to azure.
	TransferTypeImportToAzure TransferType = "ImportToAzure"
	// TransferTypeExportFromAzure - Export data from azure.
	TransferTypeExportFromAzure TransferType = "ExportFromAzure"
)

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 added in v1.1.0

func (t TransportAvailabilityDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TransportAvailabilityDetails.

func (*TransportAvailabilityDetails) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

func (t TransportAvailabilityRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TransportAvailabilityRequest.

func (*TransportAvailabilityRequest) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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
}

TransportPreferences - Preferences related to the shipment logistics of the sku

func (TransportPreferences) MarshalJSON added in v1.1.0

func (t TransportPreferences) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TransportPreferences.

func (*TransportPreferences) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

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

	// Return package details of job.
	ReturnToCustomerPackageDetails *PackageCarrierDetails

	// Shipping address of the customer.
	ShippingAddress *ShippingAddress
}

UpdateJobDetails - Job details for update.

func (UpdateJobDetails) MarshalJSON added in v1.1.0

func (u UpdateJobDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UpdateJobDetails.

func (*UpdateJobDetails) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

func (u UpdateJobProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UpdateJobProperties.

func (*UpdateJobProperties) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

func (u UserAssignedIdentity) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UserAssignedIdentity.

func (*UserAssignedIdentity) UnmarshalJSON added in v1.1.0

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 added in v1.1.0

func (u UserAssignedProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UserAssignedProperties.

func (*UserAssignedProperties) UnmarshalJSON added in v1.1.0

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 added in v0.2.0

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"
	// ValidationInputDiscriminatorValidateSubscriptionIsAllowedToCreateJob - Identify request and response for validation of
	// subscription permission to create job.
	ValidationInputDiscriminatorValidateSubscriptionIsAllowedToCreateJob ValidationInputDiscriminator = "ValidateSubscriptionIsAllowedToCreateJob"
	// ValidationInputDiscriminatorValidatePreferences - Identify request and response of preference validation.
	ValidationInputDiscriminatorValidatePreferences ValidationInputDiscriminator = "ValidatePreferences"
	// ValidationInputDiscriminatorValidateCreateOrderLimit - Identify request and response of create order limit for subscription
	// validation.
	ValidationInputDiscriminatorValidateCreateOrderLimit ValidationInputDiscriminator = "ValidateCreateOrderLimit"
	// ValidationInputDiscriminatorValidateSKUAvailability - Identify request and response of active job limit for sku availability.
	ValidationInputDiscriminatorValidateSKUAvailability ValidationInputDiscriminator = "ValidateSkuAvailability"
	// ValidationInputDiscriminatorValidateDataTransferDetails - Identify request and response of data transfer details validation.
	ValidationInputDiscriminatorValidateDataTransferDetails ValidationInputDiscriminator = "ValidateDataTransferDetails"
)

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 added in v1.1.0

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 added in v1.1.0

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 added in v0.2.0

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 added in v1.1.0

func (v ValidationResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ValidationResponse.

func (*ValidationResponse) UnmarshalJSON added in v1.1.0

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 (
	// ValidationStatusValid - Validation is successful
	ValidationStatusValid ValidationStatus = "Valid"
	// ValidationStatusInvalid - Validation is not successful
	ValidationStatusInvalid ValidationStatus = "Invalid"
	// ValidationStatusSkipped - Validation is skipped
	ValidationStatusSkipped ValidationStatus = "Skipped"
)

func PossibleValidationStatusValues

func PossibleValidationStatusValues() []ValidationStatus

PossibleValidationStatusValues returns the possible values for the ValidationStatus const type.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL