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

type FleetsMember_STATUS struct {
	// ETag: If eTag is provided in the response body, it may also be provided as a header per the normal etag convention.
	// Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in
	// the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header
	// fields.
	ETag *string `json:"eTag,omitempty"`

	// Id: Fully qualified resource ID for the resource. E.g.
	// "/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: The resource-specific properties for this resource.
	Properties *FleetMemberProperties_STATUS `json:"properties,omitempty"`

	// SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData_STATUS `json:"systemData,omitempty"`

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

// A member of the Fleet. It contains a reference to an existing Kubernetes cluster on Azure.
type FleetMemberProperties_STATUS struct {
	// ClusterResourceId: The ARM resource id of the cluster that joins the Fleet. Must be a valid Azure resource id. e.g.:
	// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{clusterName}'.
	ClusterResourceId *string `json:"clusterResourceId,omitempty"`

	// Group: The group this member belongs to for multi-cluster update management.
	Group *string `json:"group,omitempty"`

	// ProvisioningState: The status of the last operation.
	ProvisioningState *FleetMemberProvisioningState_STATUS `json:"provisioningState,omitempty"`

	// Status: Status information of the last operation for fleet member.
	Status *FleetMemberStatus_STATUS `json:"status,omitempty"`
}

// The provisioning state of the last accepted operation.
type FleetMemberProvisioningState_STATUS string

const (
	FleetMemberProvisioningState_STATUS_Canceled  = FleetMemberProvisioningState_STATUS("Canceled")
	FleetMemberProvisioningState_STATUS_Failed    = FleetMemberProvisioningState_STATUS("Failed")
	FleetMemberProvisioningState_STATUS_Joining   = FleetMemberProvisioningState_STATUS("Joining")
	FleetMemberProvisioningState_STATUS_Leaving   = FleetMemberProvisioningState_STATUS("Leaving")
	FleetMemberProvisioningState_STATUS_Succeeded = FleetMemberProvisioningState_STATUS("Succeeded")
	FleetMemberProvisioningState_STATUS_Updating  = FleetMemberProvisioningState_STATUS("Updating")
)

// Mapping from string to FleetMemberProvisioningState_STATUS
var fleetMemberProvisioningState_STATUS_Values = map[string]FleetMemberProvisioningState_STATUS{
	"canceled":  FleetMemberProvisioningState_STATUS_Canceled,
	"failed":    FleetMemberProvisioningState_STATUS_Failed,
	"joining":   FleetMemberProvisioningState_STATUS_Joining,
	"leaving":   FleetMemberProvisioningState_STATUS_Leaving,
	"succeeded": FleetMemberProvisioningState_STATUS_Succeeded,
	"updating":  FleetMemberProvisioningState_STATUS_Updating,
}

// Status information for the fleet member
type FleetMemberStatus_STATUS struct {
	// LastOperationError: The last operation error of the fleet member
	LastOperationError *ErrorDetail_STATUS `json:"lastOperationError,omitempty"`

	// LastOperationId: The last operation ID for the fleet member
	LastOperationId *string `json:"lastOperationId,omitempty"`
}
