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

import "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"

// A container group.
type ContainerGroup_STATUS struct {
	// Id: The resource id.
	Id *string `json:"id,omitempty"`

	// Identity: The identity of the container group, if configured.
	Identity *ContainerGroupIdentity_STATUS `json:"identity,omitempty"`

	// Location: The resource location.
	Location *string `json:"location,omitempty"`

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

	// Properties: The container group properties
	Properties *ContainerGroup_Properties_STATUS `json:"properties,omitempty"`

	// Tags: The resource tags.
	Tags map[string]string `json:"tags,omitempty"`

	// Type: The resource type.
	Type *string `json:"type,omitempty"`

	// Zones: The zones for the container group.
	Zones []string `json:"zones,omitempty"`
}

type ContainerGroup_Properties_STATUS struct {
	// Containers: The containers within the container group.
	Containers []Container_STATUS `json:"containers,omitempty"`

	// Diagnostics: The diagnostic information for a container group.
	Diagnostics *ContainerGroupDiagnostics_STATUS `json:"diagnostics,omitempty"`

	// DnsConfig: The DNS config information for a container group.
	DnsConfig *DnsConfiguration_STATUS `json:"dnsConfig,omitempty"`

	// EncryptionProperties: The encryption properties for a container group.
	EncryptionProperties *EncryptionProperties_STATUS `json:"encryptionProperties,omitempty"`

	// ImageRegistryCredentials: The image registry credentials by which the container group is created from.
	ImageRegistryCredentials []ImageRegistryCredential_STATUS `json:"imageRegistryCredentials,omitempty"`

	// InitContainers: The init containers for a container group.
	InitContainers []InitContainerDefinition_STATUS `json:"initContainers,omitempty"`

	// InstanceView: The instance view of the container group. Only valid in response.
	InstanceView *ContainerGroup_Properties_InstanceView_STATUS `json:"instanceView,omitempty"`

	// IpAddress: The IP address type of the container group.
	IpAddress *IpAddress_STATUS `json:"ipAddress,omitempty"`

	// OsType: The operating system type required by the containers in the container group.
	OsType *ContainerGroup_Properties_OsType_STATUS `json:"osType,omitempty"`

	// ProvisioningState: The provisioning state of the container group. This only appears in the response.
	ProvisioningState *string `json:"provisioningState,omitempty"`

	// RestartPolicy: Restart policy for all containers within the container group.
	// - `Always` Always restart
	// - `OnFailure` Restart on failure
	// - `Never` Never restart
	RestartPolicy *ContainerGroup_Properties_RestartPolicy_STATUS `json:"restartPolicy,omitempty"`

	// Sku: The SKU for a container group.
	Sku *ContainerGroupSku_STATUS `json:"sku,omitempty"`

	// SubnetIds: The subnet resource IDs for a container group.
	SubnetIds []ContainerGroupSubnetId_STATUS `json:"subnetIds,omitempty"`

	// Volumes: The list of volumes that can be mounted by containers in this container group.
	Volumes []Volume_STATUS `json:"volumes,omitempty"`
}

// Identity for the container group.
type ContainerGroupIdentity_STATUS struct {
	// PrincipalId: The principal id of the container group identity. This property will only be provided for a system assigned
	// identity.
	PrincipalId *string `json:"principalId,omitempty"`

	// TenantId: The tenant id associated with the container group. This property will only be provided for a system assigned
	// identity.
	TenantId *string `json:"tenantId,omitempty"`

	// Type: The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an
	// implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the
	// container group.
	Type *ContainerGroupIdentity_Type_STATUS `json:"type,omitempty"`

	// UserAssignedIdentities: The list of user identities associated with the container group.
	UserAssignedIdentities map[string]UserAssignedIdentities_STATUS `json:"userAssignedIdentities,omitempty"`
}

// A container instance.
type Container_STATUS struct {
	// Name: The user-provided name of the container instance.
	Name *string `json:"name,omitempty"`

	// Properties: The properties of the container instance.
	Properties *ContainerProperties_STATUS `json:"properties,omitempty"`
}

type ContainerGroup_Properties_InstanceView_STATUS struct {
	// Events: The events of this container group.
	Events []Event_STATUS `json:"events,omitempty"`

	// State: The state of the container group. Only valid in response.
	State *string `json:"state,omitempty"`
}

type ContainerGroup_Properties_OsType_STATUS string

const (
	ContainerGroup_Properties_OsType_STATUS_Linux   = ContainerGroup_Properties_OsType_STATUS("Linux")
	ContainerGroup_Properties_OsType_STATUS_Windows = ContainerGroup_Properties_OsType_STATUS("Windows")
)

// Mapping from string to ContainerGroup_Properties_OsType_STATUS
var containerGroup_Properties_OsType_STATUS_Values = map[string]ContainerGroup_Properties_OsType_STATUS{
	"linux":   ContainerGroup_Properties_OsType_STATUS_Linux,
	"windows": ContainerGroup_Properties_OsType_STATUS_Windows,
}

type ContainerGroup_Properties_RestartPolicy_STATUS string

const (
	ContainerGroup_Properties_RestartPolicy_STATUS_Always    = ContainerGroup_Properties_RestartPolicy_STATUS("Always")
	ContainerGroup_Properties_RestartPolicy_STATUS_Never     = ContainerGroup_Properties_RestartPolicy_STATUS("Never")
	ContainerGroup_Properties_RestartPolicy_STATUS_OnFailure = ContainerGroup_Properties_RestartPolicy_STATUS("OnFailure")
)

// Mapping from string to ContainerGroup_Properties_RestartPolicy_STATUS
var containerGroup_Properties_RestartPolicy_STATUS_Values = map[string]ContainerGroup_Properties_RestartPolicy_STATUS{
	"always":    ContainerGroup_Properties_RestartPolicy_STATUS_Always,
	"never":     ContainerGroup_Properties_RestartPolicy_STATUS_Never,
	"onfailure": ContainerGroup_Properties_RestartPolicy_STATUS_OnFailure,
}

// Container group diagnostic information.
type ContainerGroupDiagnostics_STATUS struct {
	// LogAnalytics: Container group log analytics information.
	LogAnalytics *LogAnalytics_STATUS `json:"logAnalytics,omitempty"`
}

type ContainerGroupIdentity_Type_STATUS string

const (
	ContainerGroupIdentity_Type_STATUS_None                       = ContainerGroupIdentity_Type_STATUS("None")
	ContainerGroupIdentity_Type_STATUS_SystemAssigned             = ContainerGroupIdentity_Type_STATUS("SystemAssigned")
	ContainerGroupIdentity_Type_STATUS_SystemAssignedUserAssigned = ContainerGroupIdentity_Type_STATUS("SystemAssigned, UserAssigned")
	ContainerGroupIdentity_Type_STATUS_UserAssigned               = ContainerGroupIdentity_Type_STATUS("UserAssigned")
)

// Mapping from string to ContainerGroupIdentity_Type_STATUS
var containerGroupIdentity_Type_STATUS_Values = map[string]ContainerGroupIdentity_Type_STATUS{
	"none":                         ContainerGroupIdentity_Type_STATUS_None,
	"systemassigned":               ContainerGroupIdentity_Type_STATUS_SystemAssigned,
	"systemassigned, userassigned": ContainerGroupIdentity_Type_STATUS_SystemAssignedUserAssigned,
	"userassigned":                 ContainerGroupIdentity_Type_STATUS_UserAssigned,
}

// The container group SKU.
type ContainerGroupSku_STATUS string

const (
	ContainerGroupSku_STATUS_Dedicated = ContainerGroupSku_STATUS("Dedicated")
	ContainerGroupSku_STATUS_Standard  = ContainerGroupSku_STATUS("Standard")
)

// Mapping from string to ContainerGroupSku_STATUS
var containerGroupSku_STATUS_Values = map[string]ContainerGroupSku_STATUS{
	"dedicated": ContainerGroupSku_STATUS_Dedicated,
	"standard":  ContainerGroupSku_STATUS_Standard,
}

// Container group subnet information.
type ContainerGroupSubnetId_STATUS struct {
	// Id: Resource ID of virtual network and subnet.
	Id *string `json:"id,omitempty"`

	// Name: Friendly name for the subnet.
	Name *string `json:"name,omitempty"`
}

// DNS configuration for the container group.
type DnsConfiguration_STATUS struct {
	// NameServers: The DNS servers for the container group.
	NameServers []string `json:"nameServers,omitempty"`

	// Options: The DNS options for the container group.
	Options *string `json:"options,omitempty"`

	// SearchDomains: The DNS search domains for hostname lookup in the container group.
	SearchDomains *string `json:"searchDomains,omitempty"`
}

// The container group encryption properties.
type EncryptionProperties_STATUS struct {
	// KeyName: The encryption key name.
	KeyName *string `json:"keyName,omitempty"`

	// KeyVersion: The encryption key version.
	KeyVersion *string `json:"keyVersion,omitempty"`

	// VaultBaseUrl: The keyvault base url.
	VaultBaseUrl *string `json:"vaultBaseUrl,omitempty"`
}

// Image registry credential.
type ImageRegistryCredential_STATUS struct {
	// Identity: The identity for the private registry.
	Identity *string `json:"identity,omitempty"`

	// IdentityUrl: The identity URL for the private registry.
	IdentityUrl *string `json:"identityUrl,omitempty"`

	// Server: The Docker image registry server without a protocol such as "http" and "https".
	Server *string `json:"server,omitempty"`

	// Username: The username for the private registry.
	Username *string `json:"username,omitempty"`
}

// The init container definition.
type InitContainerDefinition_STATUS struct {
	// Name: The name for the init container.
	Name *string `json:"name,omitempty"`

	// Properties: The properties for the init container.
	Properties *InitContainerPropertiesDefinition_STATUS `json:"properties,omitempty"`
}

// IP address for the container group.
type IpAddress_STATUS struct {
	// AutoGeneratedDomainNameLabelScope: The value representing the security enum. The 'Unsecure' value is the default value
	// if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse'
	// value is the default value if selected and means the object's domain name label can be reused within the same tenant.
	// The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The
	// 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The
	// 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or
	// tenant.
	AutoGeneratedDomainNameLabelScope *IpAddress_AutoGeneratedDomainNameLabelScope_STATUS `json:"autoGeneratedDomainNameLabelScope,omitempty"`

	// DnsNameLabel: The Dns name label for the IP.
	DnsNameLabel *string `json:"dnsNameLabel,omitempty"`

	// Fqdn: The FQDN for the IP.
	Fqdn *string `json:"fqdn,omitempty"`

	// Ip: The IP exposed to the public internet.
	Ip *string `json:"ip,omitempty"`

	// Ports: The list of ports exposed on the container group.
	Ports []Port_STATUS `json:"ports,omitempty"`

	// Type: Specifies if the IP is exposed to the public internet or private VNET.
	Type *IpAddress_Type_STATUS `json:"type,omitempty"`
}

// The list of user identities associated with the container group. The user identity dictionary key references will be ARM
// resource ids in the form:
// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
type UserAssignedIdentities_STATUS struct {
	// ClientId: The client id of user assigned identity.
	ClientId *string `json:"clientId,omitempty"`

	// PrincipalId: The principal id of user assigned identity.
	PrincipalId *string `json:"principalId,omitempty"`
}

// The properties of the volume.
type Volume_STATUS struct {
	// AzureFile: The Azure File volume.
	AzureFile *AzureFileVolume_STATUS `json:"azureFile,omitempty"`

	// EmptyDir: The empty directory volume.
	EmptyDir map[string]v1.JSON `json:"emptyDir,omitempty"`

	// GitRepo: The git repo volume.
	GitRepo *GitRepoVolume_STATUS `json:"gitRepo,omitempty"`

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

	// Secret: The secret volume.
	Secret map[string]string `json:"secret,omitempty"`
}

// The properties of the Azure File volume. Azure File shares are mounted as volumes.
type AzureFileVolume_STATUS struct {
	// ReadOnly: The flag indicating whether the Azure File shared mounted as a volume is read-only.
	ReadOnly *bool `json:"readOnly,omitempty"`

	// ShareName: The name of the Azure File share to be mounted as a volume.
	ShareName *string `json:"shareName,omitempty"`

	// StorageAccountKey: The storage account access key used to access the Azure File share.
	StorageAccountKey *string `json:"storageAccountKey,omitempty"`

	// StorageAccountName: The name of the storage account that contains the Azure File share.
	StorageAccountName *string `json:"storageAccountName,omitempty"`
}

// The container instance properties.
type ContainerProperties_STATUS struct {
	// Command: The commands to execute within the container instance in exec form.
	Command []string `json:"command,omitempty"`

	// EnvironmentVariables: The environment variables to set in the container instance.
	EnvironmentVariables []EnvironmentVariable_STATUS `json:"environmentVariables,omitempty"`

	// Image: The name of the image used to create the container instance.
	Image *string `json:"image,omitempty"`

	// InstanceView: The instance view of the container instance. Only valid in response.
	InstanceView *ContainerProperties_InstanceView_STATUS `json:"instanceView,omitempty"`

	// LivenessProbe: The liveness probe.
	LivenessProbe *ContainerProbe_STATUS `json:"livenessProbe,omitempty"`

	// Ports: The exposed ports on the container instance.
	Ports []ContainerPort_STATUS `json:"ports,omitempty"`

	// ReadinessProbe: The readiness probe.
	ReadinessProbe *ContainerProbe_STATUS `json:"readinessProbe,omitempty"`

	// Resources: The resource requirements of the container instance.
	Resources *ResourceRequirements_STATUS `json:"resources,omitempty"`

	// VolumeMounts: The volume mounts available to the container instance.
	VolumeMounts []VolumeMount_STATUS `json:"volumeMounts,omitempty"`
}

// A container group or container instance event.
type Event_STATUS struct {
	// Count: The count of the event.
	Count *int `json:"count,omitempty"`

	// FirstTimestamp: The date-time of the earliest logged event.
	FirstTimestamp *string `json:"firstTimestamp,omitempty"`

	// LastTimestamp: The date-time of the latest logged event.
	LastTimestamp *string `json:"lastTimestamp,omitempty"`

	// Message: The event message.
	Message *string `json:"message,omitempty"`

	// Name: The event name.
	Name *string `json:"name,omitempty"`

	// Type: The event type.
	Type *string `json:"type,omitempty"`
}

// Represents a volume that is populated with the contents of a git repository
type GitRepoVolume_STATUS struct {
	// Directory: Target directory name. Must not contain or start with '..'.  If '.' is supplied, the volume directory will be
	// the git repository.  Otherwise, if specified, the volume will contain the git repository in the subdirectory with the
	// given name.
	Directory *string `json:"directory,omitempty"`

	// Repository: Repository URL
	Repository *string `json:"repository,omitempty"`

	// Revision: Commit hash for the specified revision.
	Revision *string `json:"revision,omitempty"`
}

// The init container definition properties.
type InitContainerPropertiesDefinition_STATUS struct {
	// Command: The command to execute within the init container in exec form.
	Command []string `json:"command,omitempty"`

	// EnvironmentVariables: The environment variables to set in the init container.
	EnvironmentVariables []EnvironmentVariable_STATUS `json:"environmentVariables,omitempty"`

	// Image: The image of the init container.
	Image *string `json:"image,omitempty"`

	// InstanceView: The instance view of the init container. Only valid in response.
	InstanceView *InitContainerPropertiesDefinition_InstanceView_STATUS `json:"instanceView,omitempty"`

	// VolumeMounts: The volume mounts available to the init container.
	VolumeMounts []VolumeMount_STATUS `json:"volumeMounts,omitempty"`
}

type IpAddress_AutoGeneratedDomainNameLabelScope_STATUS string

const (
	IpAddress_AutoGeneratedDomainNameLabelScope_STATUS_Noreuse            = IpAddress_AutoGeneratedDomainNameLabelScope_STATUS("Noreuse")
	IpAddress_AutoGeneratedDomainNameLabelScope_STATUS_ResourceGroupReuse = IpAddress_AutoGeneratedDomainNameLabelScope_STATUS("ResourceGroupReuse")
	IpAddress_AutoGeneratedDomainNameLabelScope_STATUS_SubscriptionReuse  = IpAddress_AutoGeneratedDomainNameLabelScope_STATUS("SubscriptionReuse")
	IpAddress_AutoGeneratedDomainNameLabelScope_STATUS_TenantReuse        = IpAddress_AutoGeneratedDomainNameLabelScope_STATUS("TenantReuse")
	IpAddress_AutoGeneratedDomainNameLabelScope_STATUS_Unsecure           = IpAddress_AutoGeneratedDomainNameLabelScope_STATUS("Unsecure")
)

// Mapping from string to IpAddress_AutoGeneratedDomainNameLabelScope_STATUS
var ipAddress_AutoGeneratedDomainNameLabelScope_STATUS_Values = map[string]IpAddress_AutoGeneratedDomainNameLabelScope_STATUS{
	"noreuse":            IpAddress_AutoGeneratedDomainNameLabelScope_STATUS_Noreuse,
	"resourcegroupreuse": IpAddress_AutoGeneratedDomainNameLabelScope_STATUS_ResourceGroupReuse,
	"subscriptionreuse":  IpAddress_AutoGeneratedDomainNameLabelScope_STATUS_SubscriptionReuse,
	"tenantreuse":        IpAddress_AutoGeneratedDomainNameLabelScope_STATUS_TenantReuse,
	"unsecure":           IpAddress_AutoGeneratedDomainNameLabelScope_STATUS_Unsecure,
}

type IpAddress_Type_STATUS string

const (
	IpAddress_Type_STATUS_Private = IpAddress_Type_STATUS("Private")
	IpAddress_Type_STATUS_Public  = IpAddress_Type_STATUS("Public")
)

// Mapping from string to IpAddress_Type_STATUS
var ipAddress_Type_STATUS_Values = map[string]IpAddress_Type_STATUS{
	"private": IpAddress_Type_STATUS_Private,
	"public":  IpAddress_Type_STATUS_Public,
}

// Container group log analytics information.
type LogAnalytics_STATUS struct {
	// LogType: The log type to be used.
	LogType *LogAnalytics_LogType_STATUS `json:"logType,omitempty"`

	// Metadata: Metadata for log analytics.
	Metadata map[string]string `json:"metadata,omitempty"`

	// WorkspaceId: The workspace id for log analytics
	WorkspaceId *string `json:"workspaceId,omitempty"`
}

// The port exposed on the container group.
type Port_STATUS struct {
	// Port: The port number.
	Port *int `json:"port,omitempty"`

	// Protocol: The protocol associated with the port.
	Protocol *Port_Protocol_STATUS `json:"protocol,omitempty"`
}

// The port exposed on the container instance.
type ContainerPort_STATUS struct {
	// Port: The port number exposed within the container group.
	Port *int `json:"port,omitempty"`

	// Protocol: The protocol associated with the port.
	Protocol *ContainerPort_Protocol_STATUS `json:"protocol,omitempty"`
}

// The container probe, for liveness or readiness
type ContainerProbe_STATUS struct {
	// Exec: The execution command to probe
	Exec *ContainerExec_STATUS `json:"exec,omitempty"`

	// FailureThreshold: The failure threshold.
	FailureThreshold *int `json:"failureThreshold,omitempty"`

	// HttpGet: The Http Get settings to probe
	HttpGet *ContainerHttpGet_STATUS `json:"httpGet,omitempty"`

	// InitialDelaySeconds: The initial delay seconds.
	InitialDelaySeconds *int `json:"initialDelaySeconds,omitempty"`

	// PeriodSeconds: The period seconds.
	PeriodSeconds *int `json:"periodSeconds,omitempty"`

	// SuccessThreshold: The success threshold.
	SuccessThreshold *int `json:"successThreshold,omitempty"`

	// TimeoutSeconds: The timeout seconds.
	TimeoutSeconds *int `json:"timeoutSeconds,omitempty"`
}

type ContainerProperties_InstanceView_STATUS struct {
	// CurrentState: Current container instance state.
	CurrentState *ContainerState_STATUS `json:"currentState,omitempty"`

	// Events: The events of the container instance.
	Events []Event_STATUS `json:"events,omitempty"`

	// PreviousState: Previous container instance state.
	PreviousState *ContainerState_STATUS `json:"previousState,omitempty"`

	// RestartCount: The number of times that the container instance has been restarted.
	RestartCount *int `json:"restartCount,omitempty"`
}

// The environment variable to set within the container instance.
type EnvironmentVariable_STATUS struct {
	// Name: The name of the environment variable.
	Name *string `json:"name,omitempty"`

	// Value: The value of the environment variable.
	Value *string `json:"value,omitempty"`
}

type InitContainerPropertiesDefinition_InstanceView_STATUS struct {
	// CurrentState: The current state of the init container.
	CurrentState *ContainerState_STATUS `json:"currentState,omitempty"`

	// Events: The events of the init container.
	Events []Event_STATUS `json:"events,omitempty"`

	// PreviousState: The previous state of the init container.
	PreviousState *ContainerState_STATUS `json:"previousState,omitempty"`

	// RestartCount: The number of times that the init container has been restarted.
	RestartCount *int `json:"restartCount,omitempty"`
}

type LogAnalytics_LogType_STATUS string

const (
	LogAnalytics_LogType_STATUS_ContainerInsights     = LogAnalytics_LogType_STATUS("ContainerInsights")
	LogAnalytics_LogType_STATUS_ContainerInstanceLogs = LogAnalytics_LogType_STATUS("ContainerInstanceLogs")
)

// Mapping from string to LogAnalytics_LogType_STATUS
var logAnalytics_LogType_STATUS_Values = map[string]LogAnalytics_LogType_STATUS{
	"containerinsights":     LogAnalytics_LogType_STATUS_ContainerInsights,
	"containerinstancelogs": LogAnalytics_LogType_STATUS_ContainerInstanceLogs,
}

type Port_Protocol_STATUS string

const (
	Port_Protocol_STATUS_TCP = Port_Protocol_STATUS("TCP")
	Port_Protocol_STATUS_UDP = Port_Protocol_STATUS("UDP")
)

// Mapping from string to Port_Protocol_STATUS
var port_Protocol_STATUS_Values = map[string]Port_Protocol_STATUS{
	"tcp": Port_Protocol_STATUS_TCP,
	"udp": Port_Protocol_STATUS_UDP,
}

// The resource requirements.
type ResourceRequirements_STATUS struct {
	// Limits: The resource limits of this container instance.
	Limits *ResourceLimits_STATUS `json:"limits,omitempty"`

	// Requests: The resource requests of this container instance.
	Requests *ResourceRequests_STATUS `json:"requests,omitempty"`
}

// The properties of the volume mount.
type VolumeMount_STATUS struct {
	// MountPath: The path within the container where the volume should be mounted. Must not contain colon (:).
	MountPath *string `json:"mountPath,omitempty"`

	// Name: The name of the volume mount.
	Name *string `json:"name,omitempty"`

	// ReadOnly: The flag indicating whether the volume mount is read-only.
	ReadOnly *bool `json:"readOnly,omitempty"`
}

// The container execution command, for liveness or readiness probe
type ContainerExec_STATUS struct {
	// Command: The commands to execute within the container.
	Command []string `json:"command,omitempty"`
}

// The container Http Get settings, for liveness or readiness probe
type ContainerHttpGet_STATUS struct {
	// HttpHeaders: The HTTP headers.
	HttpHeaders []HttpHeader_STATUS `json:"httpHeaders,omitempty"`

	// Path: The path to probe.
	Path *string `json:"path,omitempty"`

	// Port: The port number to probe.
	Port *int `json:"port,omitempty"`

	// Scheme: The scheme.
	Scheme *ContainerHttpGet_Scheme_STATUS `json:"scheme,omitempty"`
}

type ContainerPort_Protocol_STATUS string

const (
	ContainerPort_Protocol_STATUS_TCP = ContainerPort_Protocol_STATUS("TCP")
	ContainerPort_Protocol_STATUS_UDP = ContainerPort_Protocol_STATUS("UDP")
)

// Mapping from string to ContainerPort_Protocol_STATUS
var containerPort_Protocol_STATUS_Values = map[string]ContainerPort_Protocol_STATUS{
	"tcp": ContainerPort_Protocol_STATUS_TCP,
	"udp": ContainerPort_Protocol_STATUS_UDP,
}

// The container instance state.
type ContainerState_STATUS struct {
	// DetailStatus: The human-readable status of the container instance state.
	DetailStatus *string `json:"detailStatus,omitempty"`

	// ExitCode: The container instance exit codes correspond to those from the `docker run` command.
	ExitCode *int `json:"exitCode,omitempty"`

	// FinishTime: The date-time when the container instance state finished.
	FinishTime *string `json:"finishTime,omitempty"`

	// StartTime: The date-time when the container instance state started.
	StartTime *string `json:"startTime,omitempty"`

	// State: The state of the container instance.
	State *string `json:"state,omitempty"`
}

// The resource limits.
type ResourceLimits_STATUS struct {
	// Cpu: The CPU limit of this container instance.
	Cpu *float64 `json:"cpu,omitempty"`

	// Gpu: The GPU limit of this container instance.
	Gpu *GpuResource_STATUS `json:"gpu,omitempty"`

	// MemoryInGB: The memory limit in GB of this container instance.
	MemoryInGB *float64 `json:"memoryInGB,omitempty"`
}

// The resource requests.
type ResourceRequests_STATUS struct {
	// Cpu: The CPU request of this container instance.
	Cpu *float64 `json:"cpu,omitempty"`

	// Gpu: The GPU request of this container instance.
	Gpu *GpuResource_STATUS `json:"gpu,omitempty"`

	// MemoryInGB: The memory request in GB of this container instance.
	MemoryInGB *float64 `json:"memoryInGB,omitempty"`
}

type ContainerHttpGet_Scheme_STATUS string

const (
	ContainerHttpGet_Scheme_STATUS_Http  = ContainerHttpGet_Scheme_STATUS("http")
	ContainerHttpGet_Scheme_STATUS_Https = ContainerHttpGet_Scheme_STATUS("https")
)

// Mapping from string to ContainerHttpGet_Scheme_STATUS
var containerHttpGet_Scheme_STATUS_Values = map[string]ContainerHttpGet_Scheme_STATUS{
	"http":  ContainerHttpGet_Scheme_STATUS_Http,
	"https": ContainerHttpGet_Scheme_STATUS_Https,
}

// The GPU resource.
type GpuResource_STATUS struct {
	// Count: The count of the GPU resource.
	Count *int `json:"count,omitempty"`

	// Sku: The SKU of the GPU resource.
	Sku *GpuResource_Sku_STATUS `json:"sku,omitempty"`
}

// The HTTP header.
type HttpHeader_STATUS struct {
	// Name: The header name.
	Name *string `json:"name,omitempty"`

	// Value: The header value.
	Value *string `json:"value,omitempty"`
}

type GpuResource_Sku_STATUS string

const (
	GpuResource_Sku_STATUS_K80  = GpuResource_Sku_STATUS("K80")
	GpuResource_Sku_STATUS_P100 = GpuResource_Sku_STATUS("P100")
	GpuResource_Sku_STATUS_V100 = GpuResource_Sku_STATUS("V100")
)

// Mapping from string to GpuResource_Sku_STATUS
var gpuResource_Sku_STATUS_Values = map[string]GpuResource_Sku_STATUS{
	"k80":  GpuResource_Sku_STATUS_K80,
	"p100": GpuResource_Sku_STATUS_P100,
	"v100": GpuResource_Sku_STATUS_V100,
}
