devices

package
v0.20230626.1153114 Latest Latest
Warning

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

Go to latest
Published: Jun 26, 2023 License: MPL-2.0 Imports: 15 Imported by: 0

README

github.com/hashicorp/go-azure-sdk/resource-manager/databoxedge/2020-12-01/devices Documentation

The devices SDK allows for interaction with the Azure Resource Manager Service databoxedge (API Version 2020-12-01).

This readme covers example usages, but further information on using this SDK can be found in the project root.

Import Path

import "github.com/hashicorp/go-azure-sdk/resource-manager/databoxedge/2020-12-01/devices"

Client Initialization

client := devices.NewDevicesClientWithBaseURI("https://management.azure.com")
client.Client.Authorizer = authorizer

Example Usage: DevicesClient.CreateOrUpdate

ctx := context.TODO()
id := devices.NewDataBoxEdgeDeviceID("12345678-1234-9876-4563-123456789012", "example-resource-group", "dataBoxEdgeDeviceValue")

payload := devices.DataBoxEdgeDevice{
	// ...
}


if err := client.CreateOrUpdateThenPoll(ctx, id, payload); err != nil {
	// handle the error
}

Example Usage: DevicesClient.CreateOrUpdateSecuritySettings

ctx := context.TODO()
id := devices.NewDataBoxEdgeDeviceID("12345678-1234-9876-4563-123456789012", "example-resource-group", "dataBoxEdgeDeviceValue")

payload := devices.SecuritySettings{
	// ...
}


if err := client.CreateOrUpdateSecuritySettingsThenPoll(ctx, id, payload); err != nil {
	// handle the error
}

Example Usage: DevicesClient.Delete

ctx := context.TODO()
id := devices.NewDataBoxEdgeDeviceID("12345678-1234-9876-4563-123456789012", "example-resource-group", "dataBoxEdgeDeviceValue")

if err := client.DeleteThenPoll(ctx, id); err != nil {
	// handle the error
}

Example Usage: DevicesClient.DownloadUpdates

ctx := context.TODO()
id := devices.NewDataBoxEdgeDeviceID("12345678-1234-9876-4563-123456789012", "example-resource-group", "dataBoxEdgeDeviceValue")

if err := client.DownloadUpdatesThenPoll(ctx, id); err != nil {
	// handle the error
}

Example Usage: DevicesClient.GenerateCertificate

ctx := context.TODO()
id := devices.NewDataBoxEdgeDeviceID("12345678-1234-9876-4563-123456789012", "example-resource-group", "dataBoxEdgeDeviceValue")

read, err := client.GenerateCertificate(ctx, id)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: DevicesClient.Get

ctx := context.TODO()
id := devices.NewDataBoxEdgeDeviceID("12345678-1234-9876-4563-123456789012", "example-resource-group", "dataBoxEdgeDeviceValue")

read, err := client.Get(ctx, id)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: DevicesClient.GetExtendedInformation

ctx := context.TODO()
id := devices.NewDataBoxEdgeDeviceID("12345678-1234-9876-4563-123456789012", "example-resource-group", "dataBoxEdgeDeviceValue")

read, err := client.GetExtendedInformation(ctx, id)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: DevicesClient.GetNetworkSettings

ctx := context.TODO()
id := devices.NewDataBoxEdgeDeviceID("12345678-1234-9876-4563-123456789012", "example-resource-group", "dataBoxEdgeDeviceValue")

read, err := client.GetNetworkSettings(ctx, id)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: DevicesClient.GetUpdateSummary

ctx := context.TODO()
id := devices.NewDataBoxEdgeDeviceID("12345678-1234-9876-4563-123456789012", "example-resource-group", "dataBoxEdgeDeviceValue")

read, err := client.GetUpdateSummary(ctx, id)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: DevicesClient.InstallUpdates

ctx := context.TODO()
id := devices.NewDataBoxEdgeDeviceID("12345678-1234-9876-4563-123456789012", "example-resource-group", "dataBoxEdgeDeviceValue")

if err := client.InstallUpdatesThenPoll(ctx, id); err != nil {
	// handle the error
}

Example Usage: DevicesClient.ListByResourceGroup

ctx := context.TODO()
id := devices.NewResourceGroupID("12345678-1234-9876-4563-123456789012", "example-resource-group")

// alternatively `client.ListByResourceGroup(ctx, id, devices.DefaultListByResourceGroupOperationOptions())` can be used to do batched pagination
items, err := client.ListByResourceGroupComplete(ctx, id, devices.DefaultListByResourceGroupOperationOptions())
if err != nil {
	// handle the error
}
for _, item := range items {
	// do something
}

Example Usage: DevicesClient.ListBySubscription

ctx := context.TODO()
id := devices.NewSubscriptionID("12345678-1234-9876-4563-123456789012")

// alternatively `client.ListBySubscription(ctx, id, devices.DefaultListBySubscriptionOperationOptions())` can be used to do batched pagination
items, err := client.ListBySubscriptionComplete(ctx, id, devices.DefaultListBySubscriptionOperationOptions())
if err != nil {
	// handle the error
}
for _, item := range items {
	// do something
}

Example Usage: DevicesClient.ScanForUpdates

ctx := context.TODO()
id := devices.NewDataBoxEdgeDeviceID("12345678-1234-9876-4563-123456789012", "example-resource-group", "dataBoxEdgeDeviceValue")

if err := client.ScanForUpdatesThenPoll(ctx, id); err != nil {
	// handle the error
}

Example Usage: DevicesClient.Update

ctx := context.TODO()
id := devices.NewDataBoxEdgeDeviceID("12345678-1234-9876-4563-123456789012", "example-resource-group", "dataBoxEdgeDeviceValue")

payload := devices.DataBoxEdgeDevicePatch{
	// ...
}


read, err := client.Update(ctx, id, payload)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: DevicesClient.UpdateExtendedInformation

ctx := context.TODO()
id := devices.NewDataBoxEdgeDeviceID("12345678-1234-9876-4563-123456789012", "example-resource-group", "dataBoxEdgeDeviceValue")

payload := devices.DataBoxEdgeDeviceExtendedInfoPatch{
	// ...
}


read, err := client.UpdateExtendedInformation(ctx, id, payload)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: DevicesClient.UploadCertificate

ctx := context.TODO()
id := devices.NewDataBoxEdgeDeviceID("12345678-1234-9876-4563-123456789012", "example-resource-group", "dataBoxEdgeDeviceValue")

payload := devices.UploadCertificateRequest{
	// ...
}


read, err := client.UploadCertificate(ctx, id, payload)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PossibleValuesForAuthenticationType

func PossibleValuesForAuthenticationType() []string

func PossibleValuesForDataBoxEdgeDeviceKind

func PossibleValuesForDataBoxEdgeDeviceKind() []string

func PossibleValuesForDataBoxEdgeDeviceStatus

func PossibleValuesForDataBoxEdgeDeviceStatus() []string

func PossibleValuesForDeviceType

func PossibleValuesForDeviceType() []string

func PossibleValuesForEncryptionAlgorithm

func PossibleValuesForEncryptionAlgorithm() []string

func PossibleValuesForInstallRebootBehavior

func PossibleValuesForInstallRebootBehavior() []string

func PossibleValuesForKeyVaultSyncStatus

func PossibleValuesForKeyVaultSyncStatus() []string

func PossibleValuesForMsiIdentityType

func PossibleValuesForMsiIdentityType() []string

func PossibleValuesForNetworkAdapterDHCPStatus

func PossibleValuesForNetworkAdapterDHCPStatus() []string

func PossibleValuesForNetworkAdapterRDMAStatus

func PossibleValuesForNetworkAdapterRDMAStatus() []string

func PossibleValuesForNetworkAdapterStatus

func PossibleValuesForNetworkAdapterStatus() []string

func PossibleValuesForNetworkGroup

func PossibleValuesForNetworkGroup() []string

func PossibleValuesForResourceMoveStatus

func PossibleValuesForResourceMoveStatus() []string

func PossibleValuesForRoleTypes

func PossibleValuesForRoleTypes() []string

func PossibleValuesForSkuName

func PossibleValuesForSkuName() []string

func PossibleValuesForSkuTier

func PossibleValuesForSkuTier() []string

func PossibleValuesForSubscriptionState

func PossibleValuesForSubscriptionState() []string

func PossibleValuesForUpdateOperation

func PossibleValuesForUpdateOperation() []string

func ValidateDataBoxEdgeDeviceID

func ValidateDataBoxEdgeDeviceID(input interface{}, key string) (warnings []string, errors []error)

ValidateDataBoxEdgeDeviceID checks that 'input' can be parsed as a Data Box Edge Device ID

Types

type AsymmetricEncryptedSecret

type AsymmetricEncryptedSecret struct {
	EncryptionAlgorithm      EncryptionAlgorithm `json:"encryptionAlgorithm"`
	EncryptionCertThumbprint *string             `json:"encryptionCertThumbprint,omitempty"`
	Value                    string              `json:"value"`
}

type AuthenticationType

type AuthenticationType string
const (
	AuthenticationTypeAzureActiveDirectory AuthenticationType = "AzureActiveDirectory"
	AuthenticationTypeInvalid              AuthenticationType = "Invalid"
)

func (*AuthenticationType) UnmarshalJSON added in v0.20230420.1093529

func (s *AuthenticationType) UnmarshalJSON(bytes []byte) error

type CreateOrUpdateOperationResponse

type CreateOrUpdateOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
}

type CreateOrUpdateSecuritySettingsOperationResponse

type CreateOrUpdateSecuritySettingsOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
}

type DataBoxEdgeDevice

type DataBoxEdgeDevice struct {
	Etag       *string                      `json:"etag,omitempty"`
	Id         *string                      `json:"id,omitempty"`
	Identity   *ResourceIdentity            `json:"identity,omitempty"`
	Kind       *DataBoxEdgeDeviceKind       `json:"kind,omitempty"`
	Location   string                       `json:"location"`
	Name       *string                      `json:"name,omitempty"`
	Properties *DataBoxEdgeDeviceProperties `json:"properties,omitempty"`
	Sku        *Sku                         `json:"sku,omitempty"`
	SystemData *systemdata.SystemData       `json:"systemData,omitempty"`
	Tags       *map[string]string           `json:"tags,omitempty"`
	Type       *string                      `json:"type,omitempty"`
}

type DataBoxEdgeDeviceExtendedInfo

type DataBoxEdgeDeviceExtendedInfo struct {
	Id         *string                                  `json:"id,omitempty"`
	Name       *string                                  `json:"name,omitempty"`
	Properties *DataBoxEdgeDeviceExtendedInfoProperties `json:"properties,omitempty"`
	Type       *string                                  `json:"type,omitempty"`
}

type DataBoxEdgeDeviceExtendedInfoPatch

type DataBoxEdgeDeviceExtendedInfoPatch struct {
	ChannelIntegrityKeyName    *string             `json:"channelIntegrityKeyName,omitempty"`
	ChannelIntegrityKeyVersion *string             `json:"channelIntegrityKeyVersion,omitempty"`
	ClientSecretStoreId        *string             `json:"clientSecretStoreId,omitempty"`
	ClientSecretStoreUrl       *string             `json:"clientSecretStoreUrl,omitempty"`
	SyncStatus                 *KeyVaultSyncStatus `json:"syncStatus,omitempty"`
}

type DataBoxEdgeDeviceExtendedInfoProperties

type DataBoxEdgeDeviceExtendedInfoProperties struct {
	ChannelIntegrityKeyName    *string             `json:"channelIntegrityKeyName,omitempty"`
	ChannelIntegrityKeyVersion *string             `json:"channelIntegrityKeyVersion,omitempty"`
	ClientSecretStoreId        *string             `json:"clientSecretStoreId,omitempty"`
	ClientSecretStoreUrl       *string             `json:"clientSecretStoreUrl,omitempty"`
	DeviceSecrets              *DeviceSecrets      `json:"deviceSecrets,omitempty"`
	EncryptionKey              *string             `json:"encryptionKey,omitempty"`
	EncryptionKeyThumbprint    *string             `json:"encryptionKeyThumbprint,omitempty"`
	KeyVaultSyncStatus         *KeyVaultSyncStatus `json:"keyVaultSyncStatus,omitempty"`
	ResourceKey                *string             `json:"resourceKey,omitempty"`
}

type DataBoxEdgeDeviceId

type DataBoxEdgeDeviceId struct {
	SubscriptionId        string
	ResourceGroupName     string
	DataBoxEdgeDeviceName string
}

DataBoxEdgeDeviceId is a struct representing the Resource ID for a Data Box Edge Device

func NewDataBoxEdgeDeviceID

func NewDataBoxEdgeDeviceID(subscriptionId string, resourceGroupName string, dataBoxEdgeDeviceName string) DataBoxEdgeDeviceId

NewDataBoxEdgeDeviceID returns a new DataBoxEdgeDeviceId struct

func ParseDataBoxEdgeDeviceID

func ParseDataBoxEdgeDeviceID(input string) (*DataBoxEdgeDeviceId, error)

ParseDataBoxEdgeDeviceID parses 'input' into a DataBoxEdgeDeviceId

func ParseDataBoxEdgeDeviceIDInsensitively

func ParseDataBoxEdgeDeviceIDInsensitively(input string) (*DataBoxEdgeDeviceId, error)

ParseDataBoxEdgeDeviceIDInsensitively parses 'input' case-insensitively into a DataBoxEdgeDeviceId note: this method should only be used for API response data and not user input

func (DataBoxEdgeDeviceId) ID

func (id DataBoxEdgeDeviceId) ID() string

ID returns the formatted Data Box Edge Device ID

func (DataBoxEdgeDeviceId) Segments

func (id DataBoxEdgeDeviceId) Segments() []resourceids.Segment

Segments returns a slice of Resource ID Segments which comprise this Data Box Edge Device ID

func (DataBoxEdgeDeviceId) String

func (id DataBoxEdgeDeviceId) String() string

String returns a human-readable description of this Data Box Edge Device ID

type DataBoxEdgeDeviceKind

type DataBoxEdgeDeviceKind string
const (
	DataBoxEdgeDeviceKindAzureDataBoxGateway    DataBoxEdgeDeviceKind = "AzureDataBoxGateway"
	DataBoxEdgeDeviceKindAzureModularDataCentre DataBoxEdgeDeviceKind = "AzureModularDataCentre"
	DataBoxEdgeDeviceKindAzureStackEdge         DataBoxEdgeDeviceKind = "AzureStackEdge"
	DataBoxEdgeDeviceKindAzureStackHub          DataBoxEdgeDeviceKind = "AzureStackHub"
)

func (*DataBoxEdgeDeviceKind) UnmarshalJSON added in v0.20230420.1093529

func (s *DataBoxEdgeDeviceKind) UnmarshalJSON(bytes []byte) error

type DataBoxEdgeDeviceOperationPredicate

type DataBoxEdgeDeviceOperationPredicate struct {
	Etag     *string
	Id       *string
	Location *string
	Name     *string
	Type     *string
}

func (DataBoxEdgeDeviceOperationPredicate) Matches

type DataBoxEdgeDevicePatch

type DataBoxEdgeDevicePatch struct {
	Identity   *ResourceIdentity                 `json:"identity,omitempty"`
	Properties *DataBoxEdgeDevicePropertiesPatch `json:"properties,omitempty"`
	Tags       *map[string]string                `json:"tags,omitempty"`
}

type DataBoxEdgeDeviceProperties

type DataBoxEdgeDeviceProperties struct {
	ConfiguredRoleTypes     *[]RoleTypes             `json:"configuredRoleTypes,omitempty"`
	Culture                 *string                  `json:"culture,omitempty"`
	DataBoxEdgeDeviceStatus *DataBoxEdgeDeviceStatus `json:"dataBoxEdgeDeviceStatus,omitempty"`
	Description             *string                  `json:"description,omitempty"`
	DeviceHcsVersion        *string                  `json:"deviceHcsVersion,omitempty"`
	DeviceLocalCapacity     *int64                   `json:"deviceLocalCapacity,omitempty"`
	DeviceModel             *string                  `json:"deviceModel,omitempty"`
	DeviceSoftwareVersion   *string                  `json:"deviceSoftwareVersion,omitempty"`
	DeviceType              *DeviceType              `json:"deviceType,omitempty"`
	EdgeProfile             *EdgeProfile             `json:"edgeProfile,omitempty"`
	FriendlyName            *string                  `json:"friendlyName,omitempty"`
	ModelDescription        *string                  `json:"modelDescription,omitempty"`
	NodeCount               *int64                   `json:"nodeCount,omitempty"`
	ResourceMoveDetails     *ResourceMoveDetails     `json:"resourceMoveDetails,omitempty"`
	SerialNumber            *string                  `json:"serialNumber,omitempty"`
	TimeZone                *string                  `json:"timeZone,omitempty"`
}

type DataBoxEdgeDevicePropertiesPatch

type DataBoxEdgeDevicePropertiesPatch struct {
	EdgeProfile *EdgeProfilePatch `json:"edgeProfile,omitempty"`
}

type DataBoxEdgeDeviceStatus

type DataBoxEdgeDeviceStatus string
const (
	DataBoxEdgeDeviceStatusDisconnected          DataBoxEdgeDeviceStatus = "Disconnected"
	DataBoxEdgeDeviceStatusMaintenance           DataBoxEdgeDeviceStatus = "Maintenance"
	DataBoxEdgeDeviceStatusNeedsAttention        DataBoxEdgeDeviceStatus = "NeedsAttention"
	DataBoxEdgeDeviceStatusOffline               DataBoxEdgeDeviceStatus = "Offline"
	DataBoxEdgeDeviceStatusOnline                DataBoxEdgeDeviceStatus = "Online"
	DataBoxEdgeDeviceStatusPartiallyDisconnected DataBoxEdgeDeviceStatus = "PartiallyDisconnected"
	DataBoxEdgeDeviceStatusReadyToSetup          DataBoxEdgeDeviceStatus = "ReadyToSetup"
)

func (*DataBoxEdgeDeviceStatus) UnmarshalJSON added in v0.20230420.1093529

func (s *DataBoxEdgeDeviceStatus) UnmarshalJSON(bytes []byte) error

type DeleteOperationResponse

type DeleteOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
}

type DeviceSecrets

type DeviceSecrets struct {
	BmcDefaultUserPassword                *Secret `json:"bmcDefaultUserPassword,omitempty"`
	HcsDataVolumeBitLockerExternalKey     *Secret `json:"hcsDataVolumeBitLockerExternalKey,omitempty"`
	HcsInternalVolumeBitLockerExternalKey *Secret `json:"hcsInternalVolumeBitLockerExternalKey,omitempty"`
	RotateKeyForDataVolumeBitlocker       *Secret `json:"rotateKeyForDataVolumeBitlocker,omitempty"`
	RotateKeysForSedDrivesSerialized      *Secret `json:"rotateKeysForSedDrivesSerialized,omitempty"`
	SedEncryptionExternalKey              *Secret `json:"sedEncryptionExternalKey,omitempty"`
	SedEncryptionExternalKeyId            *Secret `json:"sedEncryptionExternalKeyId,omitempty"`
	SystemVolumeBitLockerRecoveryKey      *Secret `json:"systemVolumeBitLockerRecoveryKey,omitempty"`
}

type DeviceType

type DeviceType string
const (
	DeviceTypeDataBoxEdgeDevice DeviceType = "DataBoxEdgeDevice"
)

func (*DeviceType) UnmarshalJSON added in v0.20230420.1093529

func (s *DeviceType) UnmarshalJSON(bytes []byte) error

type DevicesClient

type DevicesClient struct {
	Client *resourcemanager.Client
}

func NewDevicesClientWithBaseURI

func NewDevicesClientWithBaseURI(api environments.Api) (*DevicesClient, error)

func (DevicesClient) CreateOrUpdate

CreateOrUpdate ...

func (DevicesClient) CreateOrUpdateSecuritySettings

func (c DevicesClient) CreateOrUpdateSecuritySettings(ctx context.Context, id DataBoxEdgeDeviceId, input SecuritySettings) (result CreateOrUpdateSecuritySettingsOperationResponse, err error)

CreateOrUpdateSecuritySettings ...

func (DevicesClient) CreateOrUpdateSecuritySettingsThenPoll

func (c DevicesClient) CreateOrUpdateSecuritySettingsThenPoll(ctx context.Context, id DataBoxEdgeDeviceId, input SecuritySettings) error

CreateOrUpdateSecuritySettingsThenPoll performs CreateOrUpdateSecuritySettings then polls until it's completed

func (DevicesClient) CreateOrUpdateThenPoll

func (c DevicesClient) CreateOrUpdateThenPoll(ctx context.Context, id DataBoxEdgeDeviceId, input DataBoxEdgeDevice) error

CreateOrUpdateThenPoll performs CreateOrUpdate then polls until it's completed

func (DevicesClient) Delete

Delete ...

func (DevicesClient) DeleteThenPoll

func (c DevicesClient) DeleteThenPoll(ctx context.Context, id DataBoxEdgeDeviceId) error

DeleteThenPoll performs Delete then polls until it's completed

func (DevicesClient) DownloadUpdates

DownloadUpdates ...

func (DevicesClient) DownloadUpdatesThenPoll

func (c DevicesClient) DownloadUpdatesThenPoll(ctx context.Context, id DataBoxEdgeDeviceId) error

DownloadUpdatesThenPoll performs DownloadUpdates then polls until it's completed

func (DevicesClient) GenerateCertificate

func (c DevicesClient) GenerateCertificate(ctx context.Context, id DataBoxEdgeDeviceId) (result GenerateCertificateOperationResponse, err error)

GenerateCertificate ...

func (DevicesClient) Get

Get ...

func (DevicesClient) GetExtendedInformation

func (c DevicesClient) GetExtendedInformation(ctx context.Context, id DataBoxEdgeDeviceId) (result GetExtendedInformationOperationResponse, err error)

GetExtendedInformation ...

func (DevicesClient) GetNetworkSettings

func (c DevicesClient) GetNetworkSettings(ctx context.Context, id DataBoxEdgeDeviceId) (result GetNetworkSettingsOperationResponse, err error)

GetNetworkSettings ...

func (DevicesClient) GetUpdateSummary

func (c DevicesClient) GetUpdateSummary(ctx context.Context, id DataBoxEdgeDeviceId) (result GetUpdateSummaryOperationResponse, err error)

GetUpdateSummary ...

func (DevicesClient) InstallUpdates

InstallUpdates ...

func (DevicesClient) InstallUpdatesThenPoll

func (c DevicesClient) InstallUpdatesThenPoll(ctx context.Context, id DataBoxEdgeDeviceId) error

InstallUpdatesThenPoll performs InstallUpdates then polls until it's completed

func (DevicesClient) ListByResourceGroup

ListByResourceGroup ...

func (DevicesClient) ListByResourceGroupComplete

ListByResourceGroupComplete retrieves all the results into a single object

func (DevicesClient) ListByResourceGroupCompleteMatchingPredicate

func (c DevicesClient) ListByResourceGroupCompleteMatchingPredicate(ctx context.Context, id commonids.ResourceGroupId, options ListByResourceGroupOperationOptions, predicate DataBoxEdgeDeviceOperationPredicate) (result ListByResourceGroupCompleteResult, err error)

ListByResourceGroupCompleteMatchingPredicate retrieves all the results and then applies the predicate

func (DevicesClient) ListBySubscription

ListBySubscription ...

func (DevicesClient) ListBySubscriptionComplete

ListBySubscriptionComplete retrieves all the results into a single object

func (DevicesClient) ListBySubscriptionCompleteMatchingPredicate

func (c DevicesClient) ListBySubscriptionCompleteMatchingPredicate(ctx context.Context, id commonids.SubscriptionId, options ListBySubscriptionOperationOptions, predicate DataBoxEdgeDeviceOperationPredicate) (result ListBySubscriptionCompleteResult, err error)

ListBySubscriptionCompleteMatchingPredicate retrieves all the results and then applies the predicate

func (DevicesClient) ScanForUpdates

ScanForUpdates ...

func (DevicesClient) ScanForUpdatesThenPoll

func (c DevicesClient) ScanForUpdatesThenPoll(ctx context.Context, id DataBoxEdgeDeviceId) error

ScanForUpdatesThenPoll performs ScanForUpdates then polls until it's completed

func (DevicesClient) Update

Update ...

func (DevicesClient) UpdateExtendedInformation

UpdateExtendedInformation ...

func (DevicesClient) UploadCertificate

UploadCertificate ...

type DownloadUpdatesOperationResponse

type DownloadUpdatesOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
}

type EdgeProfile

type EdgeProfile struct {
	Subscription *EdgeProfileSubscription `json:"subscription,omitempty"`
}

type EdgeProfilePatch

type EdgeProfilePatch struct {
	Subscription *EdgeProfileSubscriptionPatch `json:"subscription,omitempty"`
}

type EdgeProfileSubscription

type EdgeProfileSubscription struct {
	Id               *string                 `json:"id,omitempty"`
	Properties       *SubscriptionProperties `json:"properties,omitempty"`
	RegistrationDate *string                 `json:"registrationDate,omitempty"`
	RegistrationId   *string                 `json:"registrationId,omitempty"`
	State            *SubscriptionState      `json:"state,omitempty"`
	SubscriptionId   *string                 `json:"subscriptionId,omitempty"`
}

type EdgeProfileSubscriptionPatch

type EdgeProfileSubscriptionPatch struct {
	Id *string `json:"id,omitempty"`
}

type EncryptionAlgorithm

type EncryptionAlgorithm string
const (
	EncryptionAlgorithmAESTwoFiveSix        EncryptionAlgorithm = "AES256"
	EncryptionAlgorithmNone                 EncryptionAlgorithm = "None"
	EncryptionAlgorithmRSAESPKCSOneVOneFive EncryptionAlgorithm = "RSAES_PKCS1_v_1_5"
)

func (*EncryptionAlgorithm) UnmarshalJSON added in v0.20230420.1093529

func (s *EncryptionAlgorithm) UnmarshalJSON(bytes []byte) error

type GenerateCertResponse

type GenerateCertResponse struct {
	ExpiryTimeInUTC *string `json:"expiryTimeInUTC,omitempty"`
	PrivateKey      *string `json:"privateKey,omitempty"`
	PublicKey       *string `json:"publicKey,omitempty"`
}

type GenerateCertificateOperationResponse

type GenerateCertificateOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *GenerateCertResponse
}

type GetExtendedInformationOperationResponse

type GetExtendedInformationOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *DataBoxEdgeDeviceExtendedInfo
}

type GetNetworkSettingsOperationResponse

type GetNetworkSettingsOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *NetworkSettings
}

type GetOperationResponse

type GetOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *DataBoxEdgeDevice
}

type GetUpdateSummaryOperationResponse

type GetUpdateSummaryOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *UpdateSummary
}

type IPv4Config

type IPv4Config struct {
	Gateway   *string `json:"gateway,omitempty"`
	IPAddress *string `json:"ipAddress,omitempty"`
	Subnet    *string `json:"subnet,omitempty"`
}

type IPv6Config

type IPv6Config struct {
	Gateway      *string `json:"gateway,omitempty"`
	IPAddress    *string `json:"ipAddress,omitempty"`
	PrefixLength *int64  `json:"prefixLength,omitempty"`
}

type InstallRebootBehavior

type InstallRebootBehavior string
const (
	InstallRebootBehaviorNeverReboots   InstallRebootBehavior = "NeverReboots"
	InstallRebootBehaviorRequestReboot  InstallRebootBehavior = "RequestReboot"
	InstallRebootBehaviorRequiresReboot InstallRebootBehavior = "RequiresReboot"
)

func (*InstallRebootBehavior) UnmarshalJSON added in v0.20230420.1093529

func (s *InstallRebootBehavior) UnmarshalJSON(bytes []byte) error

type InstallUpdatesOperationResponse

type InstallUpdatesOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
}

type KeyVaultSyncStatus

type KeyVaultSyncStatus string
const (
	KeyVaultSyncStatusKeyVaultNotConfigured KeyVaultSyncStatus = "KeyVaultNotConfigured"
	KeyVaultSyncStatusKeyVaultSyncFailed    KeyVaultSyncStatus = "KeyVaultSyncFailed"
	KeyVaultSyncStatusKeyVaultSyncPending   KeyVaultSyncStatus = "KeyVaultSyncPending"
	KeyVaultSyncStatusKeyVaultSynced        KeyVaultSyncStatus = "KeyVaultSynced"
	KeyVaultSyncStatusKeyVaultSyncing       KeyVaultSyncStatus = "KeyVaultSyncing"
)

func (*KeyVaultSyncStatus) UnmarshalJSON added in v0.20230420.1093529

func (s *KeyVaultSyncStatus) UnmarshalJSON(bytes []byte) error

type ListByResourceGroupCompleteResult

type ListByResourceGroupCompleteResult struct {
	Items []DataBoxEdgeDevice
}

type ListByResourceGroupOperationOptions

type ListByResourceGroupOperationOptions struct {
	Expand *string
}

func DefaultListByResourceGroupOperationOptions

func DefaultListByResourceGroupOperationOptions() ListByResourceGroupOperationOptions

func (ListByResourceGroupOperationOptions) ToHeaders added in v0.20230420.1093529

func (ListByResourceGroupOperationOptions) ToOData added in v0.20230420.1093529

func (ListByResourceGroupOperationOptions) ToQuery added in v0.20230420.1093529

type ListByResourceGroupOperationResponse

type ListByResourceGroupOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *[]DataBoxEdgeDevice
}

type ListBySubscriptionCompleteResult

type ListBySubscriptionCompleteResult struct {
	Items []DataBoxEdgeDevice
}

type ListBySubscriptionOperationOptions

type ListBySubscriptionOperationOptions struct {
	Expand *string
}

func DefaultListBySubscriptionOperationOptions

func DefaultListBySubscriptionOperationOptions() ListBySubscriptionOperationOptions

func (ListBySubscriptionOperationOptions) ToHeaders added in v0.20230420.1093529

func (ListBySubscriptionOperationOptions) ToOData added in v0.20230420.1093529

func (ListBySubscriptionOperationOptions) ToQuery added in v0.20230420.1093529

type ListBySubscriptionOperationResponse

type ListBySubscriptionOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *[]DataBoxEdgeDevice
}

type MsiIdentityType

type MsiIdentityType string
const (
	MsiIdentityTypeNone           MsiIdentityType = "None"
	MsiIdentityTypeSystemAssigned MsiIdentityType = "SystemAssigned"
	MsiIdentityTypeUserAssigned   MsiIdentityType = "UserAssigned"
)

func (*MsiIdentityType) UnmarshalJSON added in v0.20230420.1093529

func (s *MsiIdentityType) UnmarshalJSON(bytes []byte) error

type NetworkAdapter

type NetworkAdapter struct {
	AdapterId            *string                   `json:"adapterId,omitempty"`
	AdapterPosition      *NetworkAdapterPosition   `json:"adapterPosition,omitempty"`
	DhcpStatus           *NetworkAdapterDHCPStatus `json:"dhcpStatus,omitempty"`
	DnsServers           *[]string                 `json:"dnsServers,omitempty"`
	IPv4Configuration    *IPv4Config               `json:"ipv4Configuration,omitempty"`
	IPv6Configuration    *IPv6Config               `json:"ipv6Configuration,omitempty"`
	IPv6LinkLocalAddress *string                   `json:"ipv6LinkLocalAddress,omitempty"`
	Index                *int64                    `json:"index,omitempty"`
	Label                *string                   `json:"label,omitempty"`
	LinkSpeed            *int64                    `json:"linkSpeed,omitempty"`
	MacAddress           *string                   `json:"macAddress,omitempty"`
	NetworkAdapterName   *string                   `json:"networkAdapterName,omitempty"`
	NodeId               *string                   `json:"nodeId,omitempty"`
	RdmaStatus           *NetworkAdapterRDMAStatus `json:"rdmaStatus,omitempty"`
	Status               *NetworkAdapterStatus     `json:"status,omitempty"`
}

type NetworkAdapterDHCPStatus

type NetworkAdapterDHCPStatus string
const (
	NetworkAdapterDHCPStatusDisabled NetworkAdapterDHCPStatus = "Disabled"
	NetworkAdapterDHCPStatusEnabled  NetworkAdapterDHCPStatus = "Enabled"
)

func (*NetworkAdapterDHCPStatus) UnmarshalJSON added in v0.20230420.1093529

func (s *NetworkAdapterDHCPStatus) UnmarshalJSON(bytes []byte) error

type NetworkAdapterPosition

type NetworkAdapterPosition struct {
	NetworkGroup *NetworkGroup `json:"networkGroup,omitempty"`
	Port         *int64        `json:"port,omitempty"`
}

type NetworkAdapterRDMAStatus

type NetworkAdapterRDMAStatus string
const (
	NetworkAdapterRDMAStatusCapable   NetworkAdapterRDMAStatus = "Capable"
	NetworkAdapterRDMAStatusIncapable NetworkAdapterRDMAStatus = "Incapable"
)

func (*NetworkAdapterRDMAStatus) UnmarshalJSON added in v0.20230420.1093529

func (s *NetworkAdapterRDMAStatus) UnmarshalJSON(bytes []byte) error

type NetworkAdapterStatus

type NetworkAdapterStatus string
const (
	NetworkAdapterStatusActive   NetworkAdapterStatus = "Active"
	NetworkAdapterStatusInactive NetworkAdapterStatus = "Inactive"
)

func (*NetworkAdapterStatus) UnmarshalJSON added in v0.20230420.1093529

func (s *NetworkAdapterStatus) UnmarshalJSON(bytes []byte) error

type NetworkGroup

type NetworkGroup string
const (
	NetworkGroupNonRDMA NetworkGroup = "NonRDMA"
	NetworkGroupNone    NetworkGroup = "None"
	NetworkGroupRDMA    NetworkGroup = "RDMA"
)

func (*NetworkGroup) UnmarshalJSON added in v0.20230420.1093529

func (s *NetworkGroup) UnmarshalJSON(bytes []byte) error

type NetworkSettings

type NetworkSettings struct {
	Id         *string                    `json:"id,omitempty"`
	Name       *string                    `json:"name,omitempty"`
	Properties *NetworkSettingsProperties `json:"properties,omitempty"`
	Type       *string                    `json:"type,omitempty"`
}

type NetworkSettingsProperties

type NetworkSettingsProperties struct {
	NetworkAdapters *[]NetworkAdapter `json:"networkAdapters,omitempty"`
}

type RawCertificateData

type RawCertificateData struct {
	AuthenticationType *AuthenticationType `json:"authenticationType,omitempty"`
	Certificate        string              `json:"certificate"`
}

type ResourceIdentity

type ResourceIdentity struct {
	PrincipalId *string          `json:"principalId,omitempty"`
	TenantId    *string          `json:"tenantId,omitempty"`
	Type        *MsiIdentityType `json:"type,omitempty"`
}

type ResourceMoveDetails

type ResourceMoveDetails struct {
	OperationInProgress                 *ResourceMoveStatus `json:"operationInProgress,omitempty"`
	OperationInProgressLockTimeoutInUTC *string             `json:"operationInProgressLockTimeoutInUTC,omitempty"`
}

func (*ResourceMoveDetails) GetOperationInProgressLockTimeoutInUTCAsTime

func (o *ResourceMoveDetails) GetOperationInProgressLockTimeoutInUTCAsTime() (*time.Time, error)

func (*ResourceMoveDetails) SetOperationInProgressLockTimeoutInUTCAsTime

func (o *ResourceMoveDetails) SetOperationInProgressLockTimeoutInUTCAsTime(input time.Time)

type ResourceMoveStatus

type ResourceMoveStatus string
const (
	ResourceMoveStatusNone                   ResourceMoveStatus = "None"
	ResourceMoveStatusResourceMoveFailed     ResourceMoveStatus = "ResourceMoveFailed"
	ResourceMoveStatusResourceMoveInProgress ResourceMoveStatus = "ResourceMoveInProgress"
)

func (*ResourceMoveStatus) UnmarshalJSON added in v0.20230420.1093529

func (s *ResourceMoveStatus) UnmarshalJSON(bytes []byte) error

type RoleTypes

type RoleTypes string
const (
	RoleTypesASA                 RoleTypes = "ASA"
	RoleTypesCloudEdgeManagement RoleTypes = "CloudEdgeManagement"
	RoleTypesCognitive           RoleTypes = "Cognitive"
	RoleTypesFunctions           RoleTypes = "Functions"
	RoleTypesIOT                 RoleTypes = "IOT"
	RoleTypesKubernetes          RoleTypes = "Kubernetes"
	RoleTypesMEC                 RoleTypes = "MEC"
)

func (*RoleTypes) UnmarshalJSON added in v0.20230420.1093529

func (s *RoleTypes) UnmarshalJSON(bytes []byte) error

type ScanForUpdatesOperationResponse

type ScanForUpdatesOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
}

type Secret

type Secret struct {
	EncryptedSecret *AsymmetricEncryptedSecret `json:"encryptedSecret,omitempty"`
	KeyVaultId      *string                    `json:"keyVaultId,omitempty"`
}

type SecuritySettings

type SecuritySettings struct {
	Id         *string                    `json:"id,omitempty"`
	Name       *string                    `json:"name,omitempty"`
	Properties SecuritySettingsProperties `json:"properties"`
	Type       *string                    `json:"type,omitempty"`
}

type SecuritySettingsProperties

type SecuritySettingsProperties struct {
	DeviceAdminPassword AsymmetricEncryptedSecret `json:"deviceAdminPassword"`
}

type Sku

type Sku struct {
	Name *SkuName `json:"name,omitempty"`
	Tier *SkuTier `json:"tier,omitempty"`
}

type SkuName

type SkuName string
const (
	SkuNameEdge                 SkuName = "Edge"
	SkuNameEdgeMRMini           SkuName = "EdgeMR_Mini"
	SkuNameEdgePBase            SkuName = "EdgeP_Base"
	SkuNameEdgePHigh            SkuName = "EdgeP_High"
	SkuNameEdgePRBase           SkuName = "EdgePR_Base"
	SkuNameEdgePRBaseUPS        SkuName = "EdgePR_Base_UPS"
	SkuNameGPU                  SkuName = "GPU"
	SkuNameGateway              SkuName = "Gateway"
	SkuNameRCALarge             SkuName = "RCA_Large"
	SkuNameRCASmall             SkuName = "RCA_Small"
	SkuNameRDC                  SkuName = "RDC"
	SkuNameTCALarge             SkuName = "TCA_Large"
	SkuNameTCASmall             SkuName = "TCA_Small"
	SkuNameTDC                  SkuName = "TDC"
	SkuNameTEAFourNodeHeater    SkuName = "TEA_4Node_Heater"
	SkuNameTEAFourNodeUPSHeater SkuName = "TEA_4Node_UPS_Heater"
	SkuNameTEAOneNode           SkuName = "TEA_1Node"
	SkuNameTEAOneNodeHeater     SkuName = "TEA_1Node_Heater"
	SkuNameTEAOneNodeUPS        SkuName = "TEA_1Node_UPS"
	SkuNameTEAOneNodeUPSHeater  SkuName = "TEA_1Node_UPS_Heater"
	SkuNameTMA                  SkuName = "TMA"
)

func (*SkuName) UnmarshalJSON added in v0.20230420.1093529

func (s *SkuName) UnmarshalJSON(bytes []byte) error

type SkuTier

type SkuTier string
const (
	SkuTierStandard SkuTier = "Standard"
)

func (*SkuTier) UnmarshalJSON added in v0.20230420.1093529

func (s *SkuTier) UnmarshalJSON(bytes []byte) error

type SubscriptionProperties

type SubscriptionProperties struct {
	LocationPlacementId *string                           `json:"locationPlacementId,omitempty"`
	QuotaId             *string                           `json:"quotaId,omitempty"`
	RegisteredFeatures  *[]SubscriptionRegisteredFeatures `json:"registeredFeatures,omitempty"`
	SerializedDetails   *string                           `json:"serializedDetails,omitempty"`
	TenantId            *string                           `json:"tenantId,omitempty"`
}

type SubscriptionRegisteredFeatures

type SubscriptionRegisteredFeatures struct {
	Name  *string `json:"name,omitempty"`
	State *string `json:"state,omitempty"`
}

type SubscriptionState

type SubscriptionState string
const (
	SubscriptionStateDeleted      SubscriptionState = "Deleted"
	SubscriptionStateRegistered   SubscriptionState = "Registered"
	SubscriptionStateSuspended    SubscriptionState = "Suspended"
	SubscriptionStateUnregistered SubscriptionState = "Unregistered"
	SubscriptionStateWarned       SubscriptionState = "Warned"
)

func (*SubscriptionState) UnmarshalJSON added in v0.20230420.1093529

func (s *SubscriptionState) UnmarshalJSON(bytes []byte) error

type UpdateExtendedInformationOperationResponse

type UpdateExtendedInformationOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *DataBoxEdgeDeviceExtendedInfo
}

type UpdateOperation

type UpdateOperation string
const (
	UpdateOperationDownload UpdateOperation = "Download"
	UpdateOperationInstall  UpdateOperation = "Install"
	UpdateOperationNone     UpdateOperation = "None"
	UpdateOperationScan     UpdateOperation = "Scan"
)

func (*UpdateOperation) UnmarshalJSON added in v0.20230420.1093529

func (s *UpdateOperation) UnmarshalJSON(bytes []byte) error

type UpdateOperationResponse

type UpdateOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *DataBoxEdgeDevice
}

type UpdateSummary

type UpdateSummary struct {
	Id         *string                  `json:"id,omitempty"`
	Name       *string                  `json:"name,omitempty"`
	Properties *UpdateSummaryProperties `json:"properties,omitempty"`
	Type       *string                  `json:"type,omitempty"`
}

type UpdateSummaryProperties

type UpdateSummaryProperties struct {
	DeviceLastScannedDateTime            *string                `json:"deviceLastScannedDateTime,omitempty"`
	DeviceVersionNumber                  *string                `json:"deviceVersionNumber,omitempty"`
	FriendlyDeviceVersionName            *string                `json:"friendlyDeviceVersionName,omitempty"`
	InProgressDownloadJobId              *string                `json:"inProgressDownloadJobId,omitempty"`
	InProgressDownloadJobStartedDateTime *string                `json:"inProgressDownloadJobStartedDateTime,omitempty"`
	InProgressInstallJobId               *string                `json:"inProgressInstallJobId,omitempty"`
	InProgressInstallJobStartedDateTime  *string                `json:"inProgressInstallJobStartedDateTime,omitempty"`
	LastCompletedDownloadJobDateTime     *string                `json:"lastCompletedDownloadJobDateTime,omitempty"`
	LastCompletedInstallJobDateTime      *string                `json:"lastCompletedInstallJobDateTime,omitempty"`
	LastCompletedScanJobDateTime         *string                `json:"lastCompletedScanJobDateTime,omitempty"`
	OngoingUpdateOperation               *UpdateOperation       `json:"ongoingUpdateOperation,omitempty"`
	RebootBehavior                       *InstallRebootBehavior `json:"rebootBehavior,omitempty"`
	TotalNumberOfUpdatesAvailable        *int64                 `json:"totalNumberOfUpdatesAvailable,omitempty"`
	TotalNumberOfUpdatesPendingDownload  *int64                 `json:"totalNumberOfUpdatesPendingDownload,omitempty"`
	TotalNumberOfUpdatesPendingInstall   *int64                 `json:"totalNumberOfUpdatesPendingInstall,omitempty"`
	TotalUpdateSizeInBytes               *float64               `json:"totalUpdateSizeInBytes,omitempty"`
	UpdateTitles                         *[]string              `json:"updateTitles,omitempty"`
}

func (*UpdateSummaryProperties) GetDeviceLastScannedDateTimeAsTime

func (o *UpdateSummaryProperties) GetDeviceLastScannedDateTimeAsTime() (*time.Time, error)

func (*UpdateSummaryProperties) GetInProgressDownloadJobStartedDateTimeAsTime

func (o *UpdateSummaryProperties) GetInProgressDownloadJobStartedDateTimeAsTime() (*time.Time, error)

func (*UpdateSummaryProperties) GetInProgressInstallJobStartedDateTimeAsTime

func (o *UpdateSummaryProperties) GetInProgressInstallJobStartedDateTimeAsTime() (*time.Time, error)

func (*UpdateSummaryProperties) GetLastCompletedDownloadJobDateTimeAsTime

func (o *UpdateSummaryProperties) GetLastCompletedDownloadJobDateTimeAsTime() (*time.Time, error)

func (*UpdateSummaryProperties) GetLastCompletedInstallJobDateTimeAsTime

func (o *UpdateSummaryProperties) GetLastCompletedInstallJobDateTimeAsTime() (*time.Time, error)

func (*UpdateSummaryProperties) GetLastCompletedScanJobDateTimeAsTime

func (o *UpdateSummaryProperties) GetLastCompletedScanJobDateTimeAsTime() (*time.Time, error)

func (*UpdateSummaryProperties) SetDeviceLastScannedDateTimeAsTime

func (o *UpdateSummaryProperties) SetDeviceLastScannedDateTimeAsTime(input time.Time)

func (*UpdateSummaryProperties) SetInProgressDownloadJobStartedDateTimeAsTime

func (o *UpdateSummaryProperties) SetInProgressDownloadJobStartedDateTimeAsTime(input time.Time)

func (*UpdateSummaryProperties) SetInProgressInstallJobStartedDateTimeAsTime

func (o *UpdateSummaryProperties) SetInProgressInstallJobStartedDateTimeAsTime(input time.Time)

func (*UpdateSummaryProperties) SetLastCompletedDownloadJobDateTimeAsTime

func (o *UpdateSummaryProperties) SetLastCompletedDownloadJobDateTimeAsTime(input time.Time)

func (*UpdateSummaryProperties) SetLastCompletedInstallJobDateTimeAsTime

func (o *UpdateSummaryProperties) SetLastCompletedInstallJobDateTimeAsTime(input time.Time)

func (*UpdateSummaryProperties) SetLastCompletedScanJobDateTimeAsTime

func (o *UpdateSummaryProperties) SetLastCompletedScanJobDateTimeAsTime(input time.Time)

type UploadCertificateOperationResponse

type UploadCertificateOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *UploadCertificateResponse
}

type UploadCertificateRequest

type UploadCertificateRequest struct {
	Properties RawCertificateData `json:"properties"`
}

type UploadCertificateResponse

type UploadCertificateResponse struct {
	AadAudience                     *string             `json:"aadAudience,omitempty"`
	AadAuthority                    *string             `json:"aadAuthority,omitempty"`
	AadTenantId                     *string             `json:"aadTenantId,omitempty"`
	AuthType                        *AuthenticationType `json:"authType,omitempty"`
	AzureManagementEndpointAudience *string             `json:"azureManagementEndpointAudience,omitempty"`
	ResourceId                      *string             `json:"resourceId,omitempty"`
	ServicePrincipalClientId        *string             `json:"servicePrincipalClientId,omitempty"`
	ServicePrincipalObjectId        *string             `json:"servicePrincipalObjectId,omitempty"`
}

Source Files

Jump to

Keyboard shortcuts

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