// Code generated by azure-service-operator-codegen. DO NOT EDIT.
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
package arm

type NamedValue_STATUS struct {
	// Id: Fully qualified resource ID for the resource. Ex -
	// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
	Id *string `json:"id,omitempty"`

	// Name: The name of the resource
	Name *string `json:"name,omitempty"`

	// Properties: NamedValue entity contract properties.
	Properties *NamedValueContractProperties_STATUS `json:"properties,omitempty"`

	// Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string `json:"type,omitempty"`
}

// NamedValue Contract properties.
type NamedValueContractProperties_STATUS struct {
	// DisplayName: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.
	DisplayName *string `json:"displayName,omitempty"`

	// KeyVault: KeyVault location details of the namedValue.
	KeyVault *KeyVaultContractProperties_STATUS `json:"keyVault,omitempty"`

	// Secret: Determines whether the value is a secret and should be encrypted or not. Default value is false.
	Secret *bool `json:"secret,omitempty"`

	// Tags: Optional tags that when provided can be used to filter the NamedValue list.
	Tags []string `json:"tags,omitempty"`

	// Value: Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This
	// property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.
	Value *string `json:"value,omitempty"`
}

// KeyVault contract details.
type KeyVaultContractProperties_STATUS struct {
	// IdentityClientId: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access
	// key vault secret.
	IdentityClientId *string `json:"identityClientId,omitempty"`

	// LastStatus: Last time sync and refresh status of secret from key vault.
	LastStatus *KeyVaultLastAccessStatusContractProperties_STATUS `json:"lastStatus,omitempty"`

	// SecretIdentifier: Key vault secret identifier for fetching secret. Providing a versioned secret will prevent
	// auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi
	SecretIdentifier *string `json:"secretIdentifier,omitempty"`
}

// Issue contract Update Properties.
type KeyVaultLastAccessStatusContractProperties_STATUS struct {
	// Code: Last status code for sync and refresh of secret from key vault.
	Code *string `json:"code,omitempty"`

	// Message: Details of the error else empty.
	Message *string `json:"message,omitempty"`

	// TimeStampUtc: Last time secret was accessed. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as
	// specified by the ISO 8601 standard.
	TimeStampUtc *string `json:"timeStampUtc,omitempty"`
}
